Jsonp代理示例,发送请求到我们自己的网站而不是sencha网站

时间:2013-03-28 12:47:55

标签: json extjs4.1

我正在设计一个jsonp示例,我想调用某个不同的域名,因此我打电话给http://www.walkingtree.in/forums/topics-browse-remote.php,而不是http://www.sencha.com/forum/topics-browse-remote.php

在这两种情况下,数据都打印相同的格式,但执行时在控制台中出现了一些错误

  

Uncaught SyntaxError:意外的令牌:topics-browse-remote.php:1,   但没有这样的错误。

当我看到回复时,回复只有一个变化,即当我打电话到sencha论坛时,回复就会进入Ext.data.JsonP.callback1({......})

而在另一个论坛案例中,它就像这样{.............}

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

我得到了解决方案。问题出在php文件中。在这种类型的请求中,通常一个queryString将使用回调,因此我们需要获取回调并将其附加到我们的响应中,以便响应正常。

Sample php code :
<? php
$callback = $_REQUEST['callback'];
$output = array('a'=>'any text', 'b'=>'some other Text');
if ($callback) {
    header('Content-Type: text/javascript');
    echo $callback . '(' . json_encode($output) . ');';
} else {
    header('Content-Type: application/x-json');
    echo json_encode($output);
}
?>

Thanks
Tapaswini