看来我无法与Ext.Ajax.request进行跨域ajax调用。它看起来像ScriptTag:True没有任何作用。跨域Ajax与Ext.Ajax.request
这里是我的代码:
{
xtype: 'button',
text: 'Search',
ui: 'confirm',
handler: function() {
var query = Ext.getCmp("textquery").getValue();
Ext.Ajax.request({
url: 'http://example.com/?search='+query,
dataType: 'jsonp',
jsonp: 'jsonp_callback',
scriptTag: true,
success: function(e) {
var obj = Ext.decode(e.responseText);
var msg = obj;
var html = tpl.apply(msg);
resultPanel.update(html);
}
});
}
控制台日志告诉我:
XMLHttpRequest cannot load http://example.com/?search=test&_dc=1326551713063. Origin http://myapp.lo is not allowed by Access-Control-Allow-Origin.
与jQuery我也做了同样的事情,它的工作原理,但我必须使用煎茶触摸。
var formData = $("#callAjaxForm").serialize();
$.ajax({
url:"http://example.com/leksikonapi/",
dataType: 'jsonp',
jsonp: 'jsonp_callback',
data: formData,
success: onSuccess,
error: onError
});
我看不出两者之间有什么不同。
这是我做的,而不是'Ext.util.JSONP。请求({ \t \t \t \t \t URL: 'http://dev.brafolk.no/leksikonapi/', \t \t \t \t \t callbackKey: 'jsonp_callback', \t \t \t \t \t PARAMS:{ \t \t \t \t \t \t搜索:查询 \t \t \t \t \t }, callback:function(data){ console.log(data.results); var msg = data.results; var html = tpl.apply(msg); resultPanel.update(html); console.log('SUCCESS'); } \t \t \t \t \t});'' – Spoeken 2012-01-16 15:50:24