gpt4 book ai didi

javascript - 将 javascript 变量传递给外部 php 文件

转载 作者:行者123 更新时间:2023-11-28 00:13:22 26 4
gpt4 key购买 nike

是的,有很多类似的问题,但我无法弄清楚,抱歉。

我有一个包含一些 javascript 变量的文件,具体取决于用户输入(但没有表单)以及指向我的 php 文件的普通 HTML 链接。

<script>
function doStuff() {

var a = 'foo';
var b = 'bar';

window.location = 'newfile.php?a=' + a + '&b=' + b;
}
</script>

<a href="javascript:doStuff()">go to new php file</a>

效果很好,我可以使用 $_GET 访问 newfile.php 中的数据。

newfile.php:

<?php
$a= $_GET['a'];
$b= $_GET['b'];
echo($a,$b); // works
?>

但我想使用 POST。我想我必须使用 ajax 来实现这一点,但是具体如何呢?顺便说一句,jQuery 已包含在内,因此我可以使用 $.ajax()

非常感谢任何帮助:)

编辑:

感谢各位的快速回复!JSON 解析不起作用,我真的不明白为什么 - 单击按钮后,浏览器窗口瞬间消失,我又回到同一页面,但现在没有响应:(

我使用了以下代码:

jQuery.post('newfile.php',{'a': a, 'b': b}); //curious: with or without ''?
setTimeout(function () {
window.location = 'newfile.php';
}, 5000); //this will redirct to somefile.php after 5 seconds

newfile.php:

$a= $_POST['a'];
$b= $_POST['b'];

echo('Testing: '.$a);

单击后,我可以在 Firebug 中看到正确的输出(测试:foo),但当然,在重定向到站点后,值会丢失,并且留下“测试:”

我能做什么?

最佳答案

您可以使用ajax来实现这一点。以下是适用于按钮单击或 anchor 单击的代码。

HTML

<button type="button" id="button1">Click me </button>

Ajax

$('#button1').click(function() {
var a = $('#IDofYourFormelement').val();
var b = $('#IDofYourFormSecondElement').val();

$.post('/somefile.php', {'somevariable': a, 'variableB': b}, function(data) {
var parsed = JSON.parse(data);
if (parsed == 'success') {
setTimeout(function () {
window.location = '/somefile.php';
}, 3000);//this will redirct to somefile.php after 3 seconds
}
else
{
alert ('Invalid details');
}
});
});

然后在您的 somefile.php 中您可以通过以下方式访问它

$a = $_POST['somevariable'];
$b = $_POST['variableB'];
//do some stuff and return json_encoded success/failure message

关于javascript - 将 javascript 变量传递给外部 php 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30679460/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com