Ajax发送和检索

时间:2012-05-11 15:10:44

标签: php jquery ajax

我现在一直在使用ajax,我想了解有关检索数据的更多信息。我只知道如何使用callbacks获得输出。

当我使用回调并且我想要单独的值时,我使用split()explode(),这样我就可以获得个人价值。有比这更好的方法吗?如果我继续使用这个,我认为如果输入与pattern / split的{​​{1}}具有相同的字符,那么它会变得混乱。

我想知道如何通过变量单独检索数据,而不是explode或HTML输出。

问你是否理解我的问题。

感谢。

2 个答案:

答案 0 :(得分:3)

您可以将PHP页面的输出作为jSON返回。您可以使用each方法迭代json结果并获取项目。这比做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);
   });     
});

假设您从php页面返回如下所示的JSON结果

{
    "ResultSet": {          
        "ErrorMessage": "No error",
        "Results": [
            {
                "Name": "John",
                "Age": "22"
            },
            {
                "Name": "John",
                "Age": "22"
            }
        ]
    }
}

编辑:使用 jSONLint 时,这是一款非常棒的基于网络的工具,可以告诉您JSON是否有效。

http://jsonlint.com/

答案 1 :(得分:0)

使用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)
}