Asp.net web api extjs form.load使用不同域服务器的url获取数据并绑定到字段
我想使用json数据加载表单字段。 我正在使用extjs 4.1 for ui和asp.net webapi获取数据。 我的目标是加载数据并将其动态绑定到字段,如果字段名称对应于data.fieldnameproperty,则form.load用于该字段 我已将以下链接作为参考: 如果Webapi位于同一项目中,则会加载数据: 即 项目名称: --用户界面文件夹 --webapi控制器文件夹 但在我的例子中,数据来自不同的域2,不同的ui和webapi项目。我的form.load代码如下所示Asp.net web api extjs form.load使用不同域服务器的url获取数据并绑定到字段,asp.net-web-api,extjs-mvc,extjs4.1,Asp.net Web Api,Extjs Mvc,Extjs4.1,我想使用json数据加载表单字段。 我正在使用extjs 4.1 for ui和asp.net webapi获取数据。 我的目标是加载数据并将其动态绑定到字段,如果字段名称对应于data.fieldnameproperty,则form.load用于该字段 我已将以下链接作为参考: 如果Webapi位于同一项目中,则会加载数据: 即 项目名称: --用户界面文件夹 --webapi控制器文件夹 但在我的例子中,数据来自不同的域2,不同的ui和webapi项目。我的form.load代码如下所示
formCmp.getForm().load({
url: 'http://localhost/WebApiCore/api/Values/',
method: 'GET',
headers: {'Content-type': 'application/json'},
// params: {
// empId: '111'
// },
success: function (form, action) {
console.log(action.result);
//Ext.Msg.alert("Load success", action.result);
},
failure: function (form, action) {
//Ext.Msg.alert("Load failed", action.result.errorMessage);
}
});
我在firebug中得到的错误是“NetworkError:405 Method Not Allowed-”
我的项目正在“”上运行
我不确定是extjs没有使用form.load发送跨域请求的问题,还是webapi不允许跨域请求的问题
我不知道如何设置extjs以使用form.load发送jsonp请求
感谢您提供的任何帮助。如果您的Ext表单上只有常规表单字段,它实际上会执行AJAX调用以提交此数据。我认为没有办法强制form.load执行JSONP请求。您可能需要执行手动JSONP请求,就像手动AJAX请求一样
Ext.data.JsonP.request({
url : websiteURL,
scope : this,
params : {
empId: '111'
},
success : function(jsonData) {
},
failure : function(jsonData) {
Ext.Msg.show({
title : 'Warning',
msg : message,
buttons : Ext.Msg.OK,
icon : Ext.Msg.WARNING
});
}
});