我已经使用 ajax 一段时间了,我想了解更多有关检索数据的信息。我只知道如何使用callbacks
.
当我使用回调并且我想要单独的值时,我使用split()
orexplode()
所以我可以获得单独的值。还有比这更好的方法吗?pattern
如果我继续使用它,我认为如果输入与for split
/具有相同的字符,它会变得混乱explode
。
我想知道如何通过变量而不是echo
HTML 输出单独检索数据。
问你是否不明白我的问题。
谢谢。
您可以将 PHP 页面的输出返回为jSON
. 您可以使用方法遍历 json 结果each
并获取项目。这比做更清洁split
一个样品
$.getJSON("yourphppage.php", function(data){
$.each(data.ResultSet.Results,function(i,item){
console.log(data.ResultSet.Results[i].Name);
console.log(data.ResultSet.Results[i].Age);
});
});
假设您JSON
从 php 页面返回如下结果
{
"ResultSet": {
"ErrorMessage": "No error",
"Results": [
{
"Name": "John",
"Age": "22"
},
{
"Name": "John",
"Age": "22"
}
]
}
}
编辑:使用使用jSONLint时,这是一个很棒的基于 Web 的工具,可以告诉您 JSON 是否有效。
使用 Ajax/jquery $.get 示例:
$.get(
path_to_your_script. "?run=process_ajax_callback",
{
var_ajax: 1, // var sample
// more vars to your function
},
function(response, status) {
// evaluate response var as a javascript object/array
},
'json' // we expect json formatted response
);
从 PHP 函数返回值:
function process_ajax_callback()
{
// ...
$output['var'] = array(1, 2, 3); // var sample
echo json_encode($output); // encode as json!!!
exit; // very important (only output from this function)
}