我知道有类似的问题,但我想在这里得到一些澄清。
使用以下 Ajax 设置:
$.ajaxSetup({
cache: true,
dataType: 'json',
error: function(xhr, status, error){
console.log(status);
},
timeout: 60000, //Timeout of 60s
type: 'POST',
url: 'test.php'
}); //Close $.ajaxSetup()
$('#openTest').bind('click', function(){
$.ajax({
data: {val: "Hello", val2: "Hello2"},
success: function(response){
console.log('complete');
console.log(response);
}
});
当'test.php'是:
<?php
$return= array ('one'=>'one1', 'two'=>'two1');
return json_encode($return);
?>
我收到解析错误。但是当我用'echo'替换'return'时,它工作正常。
<?php
$return= array ('one'=>'one1', 'two'=>'two1');
echo json_encode($return);
?>
我将通过这个 $.ajax 调用检索更复杂的数据,并且我期待“返回”能够正常工作,“回声”在我看来并不是一个好的解决方案。
那么,你有什么建议?Ajax 设置或调用是否有问题,所以'return' 不起作用,'echo' 是一个好的解决方案吗?
谢谢。