I'm having difficulty loading JSON content from a file. console.log
prints "server-side failure with status code 0"
, meaning that the request failed.
My JSON file URL is correct and the file is present at the given address.
Firebug shows the error:
"NetworkError: 405 Not Allowed - http://localhost:8080/4910.json?_dc=1336714070619
and the Net tag shows status 405 not allowed
.
Any ideas on why this is happening?
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);
}
});
Also, what is adding the parameter _dc=1336714070619
to the end of the GET request?
Just FYI..
For the Who is adding parameter _dc. dc stands for disable cache.
by default, every request in extjs will automatically append the request variable with _dc. more info
If you don't want it, just set disableCaching: false
to your request
Ext.Ajax.request({
disableCaching: false,
url: 'http://localhost:8080/4910.json',
......
});
For the why not allowed.
Try opening the JSON URL path without _dc
, or maybe there is something wrong with your server.
if the file you accessing is in the same domain, you can directly give the relative path there.
if the request is cross-domain: If you need to read data from another domain and can't set up a proxy server (some software that runs on your own domain's web server and transparently forwards requests to domainB.com, making it look like they actually came from domainA.com), you can use Ext.data.proxy.JsonP and a technique known as JSON-P (JSON with Padding), which can help you get around the problem so long as the server on domainB.com is set up to support JSON-P responses. See JsonPProxy's introduction docs for more details.
Check http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.proxy.JsonP
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With