首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

ExtJs poxy 数据异步传输有关问题

2013-04-07 
ExtJs poxy数据异步传输问题求大哥们帮忙,,该问题困扰几天了,一直未得解决。当我的URL调用的是webservice的

ExtJs poxy 数据异步传输问题
求大哥们帮忙,,该问题困扰几天了,一直未得解决。当我的URL调用的是webservice的时候,以下是错误信息:
{"Message":"尝试使用 GET 请求调用方法“GePartList”,但不允许这样做。","StackTrace":"   在 System.Web.Script.Services.RestHandler.GetRawParams(WebServiceMethodData methodData, HttpContext context)\r\n   在 System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.InvalidOperationException"}

如果我将URL改成wcf也不行。



 
qa.data.GEN_QA_PART = new Ext.data.JsonStore({
    model : "GEN_QA_PART",
    loadingText: false,
    autoDestory: true,
    autoLoad: false,
    proxy: {
        type: 'ajax',
        headers: { "Accept": 'application/json', "Content-Type": 'application/json' },
        url: 'GQSService.asmx/GePartList',     
        reader: {
            type: 'json',
            root: 'd',
            idProperty: 'PART_ID'
        }
    },
    listeners: {
        scope : this,
        load: function(){
        }
    }
});


 



而我在使用  

 Ext.Ajax.request({
         method: 'POST',  
         headers : {"Accept" : 'application/json', "Content-Type" : 'application/json'},
         url: 'GQSService.asmx/GetDefect_GroupList',
});


又没有问题,还请大家帮忙。在线等待.谢谢
[解决办法]
本帖最后由 showbo 于 2013-03-26 09:49:47 编辑 webservice配置的问题,不允许get访问,修改web.config允许get访问webservice。

ajax你指定了post访问


并且返回的json字符串的d的属性值为string,不是json对象,所以JsonStore无法使用这种数据源,你需要使用Ext.ajax请求url得到返回值后,eval或者Ext.decode属性d得到实际的json对象,设置JsonStore的data属性为eval后的json对象

参考
web服务因URL意外地以/**结束,请求格式无法识别
jQuery通过调用webservice返回json数据的问题
[解决办法]

修改content-type 的类型
 

 headers : {"Accept" : 'application/json', "Content-Type" : 'charset=utf-8'}, 

热点排行