更新:我的代码可能会令人困惑并且包含错误。但这是我正在尝试对 $.ajax 和 $.post 执行的操作 ----我想将 JSON 发送到 php 并接收纯文本。但是 $_POST 是空的<-为什么?-----
如果使用 $.ajax,我发现 $_POST 为空,但使用 $.post 时包含正确的内容 更新:要求-- 我需要使用 JSON 请求。但问题是 $_POST 在 php 中为空,请参阅 Var_dump 这是我的脚本
<script>
$(document).ready(function(){
$("#submit").click(function(){
$.ajax({
type: "POST",
url: "Ajax_example.php",
data: {"field": $("#field").val()},
contentType: "application/json; charset=utf-8",
success: function(msg){
alert("NEW DATA:"+msg);
}
});
/* $.post("Ajax_example.php", {"field": $("#field").val()},
function(msg){
alert("NEW DATA:"+msg);
});*/
return false;
})
});
</script>
这是我的 php
<?php
echo var_dump($_POST);
?>
上面的$.post部分是注释。当 $.ajax 部分运行时,它仅警告“新数据:” 但如果我反过来做,我会得到我放在 #field 中的任何内容
最佳答案
您错误地使用了$.ajax()
。 $.ajax
的 data
参数包装在字符串中。试试这个:
$.ajax({
type: "POST",
url: "Ajax_example.php",
data: {field: $("#field").val() },
success: function(msg){
alert("NEW DATA:"+msg);
}
});
关于php - 这是 jQuery 的错误吗? $.post 与 $.ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7030202/