Javascript $ .getJSON回调和参数传递

时间:2012-11-29 19:23:49

标签: javascript json getjson

我目前有一个$ .getJSON调用正常工作,如下所示。

var jsonUrl = "http://www.somesite.co.uk/jsonusv.php?callback=?";                   
$.getJSON(jsonUrl,function(zippy){
...some code
}

但是,我希望传递一个变量,以便PHP脚本可以使用其$ _GET ['']值并定制数据。

我厌倦了愚蠢,却无法让任何想法发挥作用?

var jsonUrl = "http://www.somesite.co.uk/jsonusv.php?callback=?&value=65";

php页面看起来像这样被剥离了。我确实尝试检测$ _GET ['value'],但它没有用。

<?PHP
header("content-type: application/json");  
$theSqlquery = "SELECT * FROM table ORDER BY timestamp DESC LIMIT 20";   
$result131 = mysql_query($theSqlquery);

     if ($result131)
     {

        //make up Json string in $temp

    echo $_GET['callback'] . '(' . $temp . ');';
     }                 
?>

3 个答案:

答案 0 :(得分:1)

我建议从jsonUrl

中删除callback=?

答案 1 :(得分:0)

尝试将参数传递给函数调用的data参数,而不是查询字符串:

var jsonUrl = "http://www.somesite.co.uk/jsonusv.php";
$.getJSON(jsonUrl, {
    callback: "your callback val",
    value: "65",
  },
function(zippy){
...some code
});

http://api.jquery.com/jQuery.getJSON/

然后您可以使用$_POST

访问它们

注意,echo会将假定的json结果发送回您的$.getJSON()方法调用,例如success(),如果成功的话。如果你知道success()方法中的js方法名称,只需要传递它$temp,试试这个

var jsonUrl = "http://www.somesite.co.uk/jsonusv.php";
$.getJSON(jsonUrl, {
    value: "65"
  },
function(zippy){
    callbackMethod(zippy[0]);
});

并在你的php中

$output = array();
$output[0] = $temp;
echo json_encode($output);

答案 2 :(得分:0)

var jsonUrl = "http://www.somesite.co.uk/jsonusv.php?callback=?";                   
$.getJSON(jsonUrl,{lastdatetime: "",},function(zippy){....

似乎工作......