#javascript #json #sencha-touch #script-tag
#javascript #json #касание sencha #скрипт-тег
Вопрос:
Я связываюсь с вами, потому что я в тупике. Я пытаюсь получить данные из внешнего веб-сервиса с помощью «ScriptTag», но это не работает, потому что веб-сервис возвращает простой формат json (без JSONP).
Вы знаете, есть ли другой способ получить json с помощью sencha?
var helloWorld = new Ext.Application({
Parking: Ext.regModel('Parking', {
fields:[
{name:'parkingName'},
{name:'latitude'},
{name:'longitude'},
{name:'mapUrl'}
],
}),
launch: function() {
this.tabs = new Ext.TabPanel({
fullscreen: true,
dockedItems: [{xtype:'toolbar', title:'JSON Recovery'}],
tabBar: {
ui: 'light',
layout: {
pack: 'center'
}
},
items: [
{cls:'Page1', title:'Page1', html:'Page1'},
{
cls: 'list',
title: 'Page2',
xtype: 'list',
loadingText: 'Chargement',
itemTpl:'<div>{parkingName}</div>',
store: new Ext.data.Store({
autoLoad:true,
model: 'Parking',
proxy: {
type: 'scripttag',
url : 'http://walker.hotcity.lu/hotcity-central-server/webresources/parking/json?format-version=1_0amp;client-type=iPhone',
reader: {
type: 'json',
root: 'remoteObject'
},
}
}),
},
],
});
}
});
предупреждение: Ресурс интерпретируется как скрипт, но передается с использованием MIME-типа application / json.
ошибка: неучтенная синтаксическая ошибка: неожиданный токен :
Спасибо.
Кевин.
Ответ №1:
То, что вы ищете, — это прокси Ajax. В документах есть несколько примеров о том, как его использовать и как его настроить. По умолчанию используется JSON, поэтому, пока ваша модель соответствует информации, полученной с помощью JSON, все будет в порядке.
Еще одна вещь, о которой вы должны знать, это то, что JSONP может обойти межсайтовые скрипты, но если вы не выполняете развертывание в walker.горячий город.домен lu, тогда браузер не разрешит запрос из-за той же политики происхождения. Сервер должен будет ответить соответствующими заголовками CORS, чтобы разрешить вашему приложению доступ к данным.