У меня есть хранилище данных, которое получает информацию из API JSON на моем сервере. Когда я запускаю код в WebKit / Chrome, кажется, что все работает нормально, но если я изменяю свой пользовательский агент на iPhone 4.1 и т. Д., Кажется, что запросы JSON не устанавливаются должным образом. Вместо того, чтобы отправлять запрос на получение JSON, он просто отправляет запрос и вместо этого получает страницу с отображением HTML.
Это магазин, который я определил:
Product.ProductStore = new Ext.data.Store({
model: 'Product',
proxy: {
type: 'ajax',
url: '/admin/products.json',
reader: {
type: 'json',
root: 'products'
}
},
autoLoad: true,
storeId: 'productStore',
getGroupString: function(record){
return record.get('vendor')[0];
}
});
Так что я действительно хочу, чтобы этот магазин сделал, это отправил запрос в /admin/products.json, который работает, как и ожидалось, на рабочем столе. Но когда я запускаю это в моем симуляторе или даже на устройстве, кажется, что он просто отправляет запрос в / admin / products, который вместо этого возвращает HTML.
Некоторые люди считают, что это проблема с сервером rails, и мне нужно установить тип контента для моего запроса. Проблема в том, как мне это сделать?
Я пробовал следующее, и оно тоже не работает:
Product.ProductStore = new Ext.data.Store({
model: 'Product',
proxy: {
type: 'ajax',
url: '/admin/products.json',
// Trying to set the headers for the request -- not working
headers: {
'Content-Type': 'application/json'
},
reader: {
type: 'json',
root: 'products'
}
},
autoLoad: true,
storeId: 'productStore',
getGroupString: function(record){
return record.get('vendor')[0];
}
});
Могу ли я просто заменить запрос AJAX своим запросом, в котором заголовки с типом содержимого установлены правильно? Если да, то есть ли примеры, которые используют хранилище и собственный запрос AJAX?