我正在尝试进行简单的JSONP调用,以获取在远程服务器上加载的json文件。
这是我在服务器上加载的简单json文件。
{
"login": [
{
"themename": "NO",
"themeId": "1"
}
],
"homePage": [
{
"themename": "NO",
"themeId": "1"
}
],
"transactionDetails": [
{
"themename": "NO",
"themeId": "1"
}
]
}
我的控制器代码,该代码调用此文件以获取数据
Ext.data.JsonP.request(
{
url : 'http://xx.xx:8080/ThemeSelector.json',
callback : 'someCallback' ,
someCallback: function(success, result) {
var text = result.responseText;
var object = Ext.decode(text);
themeName = object['homePage'][0].themename;
}
});
我收到错误
"Uncaught SyntaxError: Unexpected token : "
我知道响应应该包装在对象中,但不能在json文件和我的代码中进行准确的更正。有什么帮助吗?
谢谢
最佳答案
JSONP要求响应采用JavaScript函数调用的形式,并将实际的JSON对象作为参数传递。纯JSON无法(无法)运行。
有关函数调用外观的确切详细信息(尤其是函数名称)可能有所不同,但是通常它是添加到HTTP请求中的参数。服务器应基于该参数的值构造响应。