AJAX调用REST服务不需要';t在页面中显示结果,但在平面文件中调用相同的响应会显示结果
我正在尝试调用WCF数据服务,并在GridPanel中显示结果 除了GridPanel不显示任何结果外,该调用工作并返回正确的JSON。 我尝试将返回的json复制到Web服务器上的一个文件中,并替换该文件的目标url。这项工作正常,并显示结果 因此,据我所知,JSON的代码和服务都是正确的,但它们不能正常工作 外部JSAJAX调用REST服务不需要';t在页面中显示结果,但在平面文件中调用相同的响应会显示结果,ajax,extjs,wcf-data-services,Ajax,Extjs,Wcf Data Services,我正在尝试调用WCF数据服务,并在GridPanel中显示结果 除了GridPanel不显示任何结果外,该调用工作并返回正确的JSON。 我尝试将返回的json复制到Web服务器上的一个文件中,并替换该文件的目标url。这项工作正常,并显示结果 因此,据我所知,JSON的代码和服务都是正确的,但它们不能正常工作 外部JS Ext.define('Customer', { extend: 'Ext.data.Model', field
Ext.define('Customer', {
extend: 'Ext.data.Model',
fields: ['Id', 'CustomerName'],
proxy: {
headers: {
'Accept' : 'application/json'
},
type: 'rest',
url: 'Service.svc/Customers',
reader: {
type: 'json',
root: 'd'
}
}
});
从服务返回的JSON
{
"d" : [
{
"__metadata": {
"uri": "http://localhost:52332/testservice.svc/Customers(1)",
"type": "PierbridgeShinePlatformTestModel.Customer"
},
"Id": 1,
"CustomerName": "fred",
"Invoices": {
"__deferred": {
"uri": "http://localhost:52332/testservice.svc/Customers(1)/Invoices"
}
}
},
{
"__metadata": {
"uri": "http://localhost:52332/testservice.svc/Customers(2)",
"type": "PierbridgeShinePlatformTestModel.Customer"
},
"Id": 2,
"CustomerName": "Mr Fred",
"Invoices": {
"__deferred": {
"uri": "http://localhost:52332/testservice.svc/Customers(2)/Invoices"
}
}
}
]
}
您的WCF服务是否配置为允许获取Json?是。我可以在fiddler和浏览器调试器中查看页面,看到调用发生,并确保它的响应是我正在寻找的有效json。在对文件而不是服务进行测试时,我也会这样做。两者返回给JS的JSON是相同的当WCF服务返回时,是否用额外的标记包装JSON?我有过这样的经历,很难在fiddler身上看到。我相信json的MS实现与标准json略有不同