qa.data.GEN_QA_PART = new Ext.data.JsonStore({
model: "GEN_QA_PART",
loadingText: false,
autoDestory: true,
autoLoad: false,
proxy: {
type: 'ajax',
// jsonData: Ext.util.Format.format('{userId: "{0}"}', 'aadd'),
headers: { "Accept": 'application/json', "Content-Type": 'application/json' },
url: 'GQSService.asmx/GetPartList',
reader: {
type: 'json',
root: 'd',
idProperty: 'PART_ID'
}
},
listeners: {
scope: this,
load: function () {
}
}
});
WebService文件:
[ScriptMethod(ResponseFormat = ResponseFormat.Json), WebMethod(EnableSession = true)]
public List<GEN_QA_PART> GetPartList()
{
string errMsg = string.Empty;
List<GEN_QA_PART> lst = GEN_QA_PARTBLL.GePartList(string.Empty, ref errMsg);
if (!string.IsNullOrEmpty(errMsg))
{
}
return lst;
}
报错信息:
Message":"尝试使用 GET 请求调用方法“GetPartList”,但不允许这样做。","StackTrace":"
当我将 headers: { "Accept": 'application/json', "Content-Type": 'application/json' },改成: headers: { "Accept": 'application/json', "Content-Type": 'charset-utf-8'},
时返回是一个XML对象的数据格式。并不是我想要的JSON数据格式。
求解!!分不够,请谅解!
------解决方案--------------------
Ext.Ajax.request({
method: 'POST',
headers: { "Accept": 'application/json', "Content-Type": 'application/json' },
url: 'GQSService.asmx/GetDefect_GroupList',
});
如果采用这种方式调用又没有问题。。真搞不明白。为什么使用Proxy就报错。