我正在尝试使用 Extjs 进行 RESTful Web 服务调用。下面是我正在使用的代码:
Ext.Ajax.request({ url: incomingURL ,
method: 'POST',
params: {param1:p1, param2:p2},
success: function(responseObject){
var obj = Ext.decode(responseObject.responseText);
alert(obj);
},
failure: function(responseObject){
var obj = Ext.decode(responseObject.responseText);
alert(obj);
}
});
但是不起作用,请求是使用 OPTIONS 方法而不是 POST 发送的。
我也尝试使用下面的代码做同样的事情,但结果是相同的:
var conn = new Ext.data.Connection();
conn.request({
url: incomingURL,
method: 'POST',
params: {param1:p1, param2:p2},
success: function(responseObject)
{
Ext.Msg.alert('Status', 'success');
},
failure: function(responseObject)
{
Ext.Msg.alert('Status', 'Failure');
}
});
但是当我尝试使用基本的 ajax 调用(直接使用浏览器对象,即 XMLHttpRequest() 或 ActiveXObject("Microsoft.XMLHTTP"))执行相同的操作时,它工作正常,并且我得到了预期的响应。
任何人都可以帮助我,因为我无法理解我在 extjs ajax 调用中做错了什么?
最佳答案
您无法在域之间进行标准 AJAX 调用。 Ext.Ajax.request 的 URL 应该是一个相对 URL(相对于脚本的来源)。
如果你想进行跨域调用,请使用 ScriptTagProxy 等。
关于ajax - Extjs 调用 RESTful Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1826671/