2012-11-29 96 views
0

我目前有一个$ .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 . ');'; 
    }     
?> 
+0

callback =什么? –

+0

嗨Behnam Esmaili我不明白你的问题 – DevilCode

+0

我发布了一个answer.check。 –

回答

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

似乎工作...

1

我会建议取消从callback=?您jsonUrl

+0

怎么来/为什么? – DevilCode

+0

一个URL查询字符串以'?'开头如果你正在检查'callback'属性并且想传递一个空值,那么就留下?callback =&value = 65“。我想象你是querystring是用 – bluetoft

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); 
+0

但他想用$ _GET访问它 –

+0

我对POST没问题,但是在URL中没有回调=?的方法会导致Access-Control-Allow-Origin。 – DevilCode

+0

另外它的静止GET不发布。 – DevilCode