Asp.net web api extjs form.load使用不同域服务器的url获取数据并绑定到字段

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代码如下所示

我想使用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
                });
           }
    });