这是我的jquery ajax代码
$.ajax({
url:"update.php",
method:"POST",
data:{id:id, text:text, column_name:column_name},
dataType: 'json',
success:function(data){
alert("HelloJson");
}
我的update.php页面仅包含
header('Content-Type:application/json');
当我将dataType更改为text时,警报HelloJson工作,但是当我将dataType更改为'json'时,警报HelloJson无法工作。我想使用json以及如何解决此问题?
答案 0 :(得分:0)
我尝试了这段代码,它可以按预期工作:
index.html
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$.ajax({
url:"update.php",
method:"POST",
data:{id:"8", text:"code", column_name:"name"},
dataType: 'json',
success:function(data){
alert("HelloJson");
console.log(data);
},error:function(xhr,status,error){
console.log(error)
}
});
});
});
</script>
</head>
<body>
<button>Post data</button>
</body>
</html>
update.php:
header("Content-type:application/json");
echo json_encode(["id"=>$_POST["id"],
"text"=>$_POST["text"],
"column_name"=>$_POST["column_name"]]);
答案 1 :(得分:0)
在使用dataType: 'json'
时,jQuery将parse
对JSON的响应,并且由于响应中没有任何内容,因此您会在下面看到错误,请在控制台中查看。
SyntaxError:JSON.parse:第1行第1列的数据意外结束 JSON数据
要获得有效的json响应,它至少需要发送空引号""
<?php
header('Content-Type:application/json');
echo '""';
?>