看來我無法與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