当点击html表单的提交按钮时,我想将一个值发布到不同的php文件中。
代码 我现在拥有的是PHP和JavaScript的混合体:
waar = 1;
if (isset($_POST['submit'])) {
?><script type="text/javascript">
$.ajax({
url: 'zoek.php',
data: 'waar=' + waar,
type: 'POST',
success: function(uitkomst) {
alert("1");
},
error: function(request, status, error){
}
});
</script><?php
}
在 zoek 中.php我得到的代码是这样的:
<?php
if (isset($_POST['waar'])) {
?><script type="text/javascript">
alert("2");
alerted = localStorage.getItem('alerted') || '';
if (alerted == 'yes') {
localStorage.setItem('alerted','no');
};
</script><?php
}
?>
它确实会提醒"1",但不提醒"2"。我不确定为什么会这样,因为它在 ajax 调用中是成功的。但似乎没有收到"POST"。
(对不起,英语不好)
将第一个 ajax 回调更改为:
function(uitkomst) {
alert("1");
$("body").append(uitkomst);
},
这会将响应添加到 DOM 中,从而立即执行 javascript。
您看不到"2"的警告,因为您执行 AJAX 调用的页面上的任何 JavaScript 代码都不会在进行调用的页面中运行。您必须将来自 AJAX 调用的响应文本附加到您的网页中,脚本才能实际执行。在您的情况下,这将是uitkomst
变量。