返回 我有一个由ajax调用的php脚本,我在这个文件中对mysql做了一些操作,现在我想把存储在php数组中的结果返回到ajax调用。那么它是如何可能的。
答案 0 :(得分:2)
你应该使用它。
echo json_encode($array);
答案 1 :(得分:1)
您在php脚本中打印的任何内容都将被“返回”到ajax调用并被success
回调捕获。
$.ajax({
type: "POST",
url: url,
data: data,
success: function(response){
alert(response); // Will print whatever the php script 'echos' out.
// or with the php code below as the script you call, you can use:
if(response.result) {
alert(response.data); // For the data in 'data' to be printed.
// Where response.data is your array:
for(var i=0;i<response.data.length;i++){
console.log(response.data[i]);
}
} else {
console.log(response.error);
}
},
});
编辑: 正如在其他答案中的其他状态一样,json非常适合从php脚本返回到ajax回调,因为JavaScript和PHP都能很好地处理这个问题。
<?php
// I like to return an associative array,
// which in the javascript part of the code can be used as a object.
// I always include a 'result' boolean value which will let me know on the js
// side if the request was successfully done or not, and if false,
// i usually include a 'error' property with a error message.
$myreturndata = array("result" => true, "data" => $yourArray, "error" => null);
header('Content-Type: application/json');
die(json_encode($myreturndata));
答案 2 :(得分:1)
试试这个:
Use json for that. Read this for more details.
JSON is used especially for this purpose.
-
由于
答案 3 :(得分:0)
在你的ajax调用中,你可以像这样指定返回数据类型
$.ajax({
url : url,
data : data,
dataType : 'json',
success : function(data){
console.log(data);
}
})
在你的PHP脚本中你可以像这样打印json编码的字符串
print_r(json_enocde(array()));
答案 4 :(得分:0)
如果您想将PHP Array
传递给AJAX
,请将其转换为JSON
并传递给它。
以下是一个例子
<?php
$arr = array('a' => 10, 'b' => 23, 'c' => 32, 'd' => 42, 'e' => 52);
echo json_encode($arr);
?>
答案 5 :(得分:0)
在其他答案之上的有用示例。将每个数组值拆分为javascript变量。
改进了有用的建议:)
PHP
echo json_encode($array);
成功函数中的jQuery.ajax
// pass each value to variables (this example array looks like this: [100,200,300])
var variableOne = response[0]; // This variable will = 100
var variableTwo = response[1]; // This variable will = 200
var variableThree = response[2]; // This variable will = 300
// Now you can easily use each individual value.
alert(variableOne);