我的php上的代码:
<html>
<script src="jquery2_3.js"></script>
<script>
function ajax(){
$.ajax({
type: 'POST',
url: 'mypage.php',
data: {test: 'asdf'},
success: function(){
alert('done');
}
});
}
</script>
</html>
<?php
foreach ($_GET as $key => $value) {
echo "<tr>";
echo "<td>";
echo $key;
echo "</td>";
echo "<td>";
echo $value;
echo "</td>";
echo "</tr>";
}
?>
当我使用PostMan(Chrome应用REST客户端)时,我可以提交GET变量并在页面上回显预期结果。
当我在Chrome中打开此页面并通过js控制台运行ajax方法时,我收到了警告消息,但没有回复来自php脚本或页面上的任何更改。
我尝试过使用jquery get()和post()方法,这两种方法都表示成功,但没有显示结果。但是当我通过Postman发送请求时,php代码运行正常。
Jquery没有错误,没有任何想法? 感谢
答案 0 :(得分:0)
使用data: $('#Contact').serialize(),
将$_GET[]
替换为$_REQUEST[]
..它会起作用
答案 1 :(得分:0)
好的,我发布这个后就意识到了我的错误。
问题在于我混淆了服务器端和客户端进程的工作方式。 当运行ajax方法时,可以对客户端进行更改,但php服务器不能。
解决方案是捕获成功回调中的回显数据,并使用jquery附加:
$.ajax({
type: 'POST',
url: 'mypage.php',
data: {test : '32452345'},
success: function(data){
$('*').html(data);
}
});
<?php
echo $_POST['test'];
?>