Ajax.Request的使用ExtJS的(Ajax.request using ExtJs)

2019-09-17 04:21发布

我在从文件加载困难JSON内容。 console.log打印"server-side failure with status code 0" ,这意味着请求失败。

我的JSON文件的URL是正确的,该文件存在于给定的地址。

萤火显示了错误:

"NetworkError: 405 Not Allowed - http://localhost:8080/4910.json?_dc=1336714070619

电脑和网络标签可显示状态405 not allowed

为什么发生这种情况的任何想法?

Ext.Ajax.request({
                   url: 'http://localhost:8080/4910.json',
                   success: function(response, opts) {
                      var obj = Ext.decode(response.responseText);
                      console.log(obj[0].name);
                   },
                   failure: function(response, opts) {
                      console.log('server-side failure with status code ' + response.status);
                   }
                });

此外,什么是添加参数_dc=1336714070619的GET请求的结束?

Answer 1:

仅供参考..

对于谁是加入参数_dc。 dc代表禁用缓存
默认情况下,在ExtJS的每个请求就可以自动补齐与_dc请求变量。 更多信息

如果你不想要它,只需设置disableCaching: false你的要求

Ext.Ajax.request({
    disableCaching: false,
    url: 'http://localhost:8080/4910.json',
    ......
});

对于为什么不允许的
尝试在不打开JSON URL路径_dc ,或者也许有一些错误您的服务器。



Answer 2:

如果你访问该文件是在同一个域中,你可以直接给在那里的相对路径。

如果请求是跨域:如果您需要从另一个域读取数据并不能设置代理服务器(你自己的域的网络服务器上运行,并透明地将请求转发到domainB.com一些软件,使它看起来像他们实际上是从domainA.com出来),你可以使用Ext.data.proxy.JsonP并称为JSON-P(JSON与填充)的技术,它可以帮助您解决该问题得到,只要在domainB.com服务器被设置为支持JSON-P的反应。 见JsonPProxy的介绍文档的更多细节。

检查 http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.proxy.JsonP



Answer 3:

我认为你应该使用的相对路径url (相对这里比较JS文件),例如,它应该是4910.json如果JSON文件是在同一文件夹作为您的js文件。



Answer 4:

也许,错服务器端口?

这对我的作品好:

Ext.Ajax.request ({
    url: 'http://localhost:80/sof/json.json' ,
    disableCaching: false ,
    success: function (res) {
        // JSON is {name:val, type:val}
        console.log (Ext.JSON.decode(res.responseText).name);
    } ,
    failure: function () {
        console.log ('error');
    }
});


Answer 5:

检查你的web服务器设置。 我在OSX甲基苯丙胺已本地主机:8888。

每当我使用本地主机上的文件我使用相对路径。

你有没有试图改变使用chmod文件权限? 也许你甚至不能在浏览器中打开它?

你试过从PHP中写入文件和事后检查?



文章来源: Ajax.request using ExtJs
标签: Extjs extjs4