这个问题综合了两个尚未解决的问题:
我正在尝试实现一些 ajax 方法来在网页上发布一些评论。我使用这样的ajax方法:
<button id="my-btn">Make an Ajax request!</button>
<script >
$('#my-btn').click(function() {
var comment = $('#id1').val();
var m = {$id2};
var data = new Array();
data[0]= comment;
data[1]= m;
$.post('{$postURL}', data, function(callback_data){
alert('hello');
});
});
</script>
其中 m = {$id2}; 是由于一个聪明的变量。
alert('hello') 有效,但未处理 php 代码: {$postURL} 需要方法 comment(){$comment = $_POST[$data[0]]; $m = $_POST[$data[1]];...}。所以,postURL 就像:"index.php?post=comment",方法是comment()。当然,当我用“index.php?post=comment”替换 {$postURL} 时,没有任何反应,因为我仍然有 alert('hello') 消息,但方法 comment() 没有处理任何内容。这个方法是否被调用?或者是否存在错误的语法,例如 $_POST[$data[0]] 和 $_POST[$data[1]] 无法通过 comment() 方法识别。
index.php 的工作方式是将 : 重定向到另一个 php 页面,将其命名为 mypage.php,我们可以在其中找到 comment() 方法。
此外,一些非常奇怪的事情:当我用 $.post("{$whatever}" 破坏 $.post("{$postURL}" 时,我仍然有一个 alert('hello') 消息!更奇怪的是,当我放一个alert(callback_data); 在回调函数中,我收到一条巨大的警报消息,其中包含我的整个 php 代码......
最好的,纽本