gpt4 book ai didi

javascript - 在 SenchaTouch 中为 Ext.data.Store 代理设置请求 header

转载 作者:行者123 更新时间:2023-11-30 13:34:47 26 4
gpt4 key购买 nike

我有一个数据存储,它从我服务器上的 JSON API 获取信息。当我在 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 请求替换为我自己的内容类型 header 设置正确的请求?如果是这样,是否有一些示例使用商店及其自己的自定义 AJAX 请求?

最佳答案

应该是

'Accept' : 'application/json'

Accept 是客户端用来告诉服务器它喜欢什么媒体类型的 header 。Content-Type 是服务器作为响应的一部分发送的 header ,告诉客户端数据是什么。

关于javascript - 在 SenchaTouch 中为 Ext.data.Store 代理设置请求 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5313635/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com