我正在使用主干集合来获取一些数据。在传递给 fetch 的选项中,我有一个添加到 url 的字符串参数:
options = {data: {sterm: "hello world"}}
当 backbone 运行这个 url 包含的 fetch 时
sterm=hello+world
后端不接受它需要采用以下格式:
sterm=hello%20world
所以我将选项更改为:
options = {data: {sterm: encodeURIComponent("hello world")}}
然后,当执行提取时,它包含格式正确的查询参数,但是如果我传入一个带有 % 的字符串,那么 encodeURIComponent 似乎将 % 更改为 %25,我理解这是正确的,但随后在主干提取中它被更改为 %2525,这是错误的。有什么方法可以配置主干提取,这样它就不会将 %25 更改为 %2525?
最佳答案
Backbone
集合fetch()
方法uses jQuery.ajax()
方法并接受 jQuery.ajax()
选项作为参数。在 jQuery.ajax() 方法的 documentation 中您可能会发现,如果将 processData
字段定义为 false
,将不会对请求中的数据进行任何预处理。
options = {
data: {
sterm: encodeURIComponent("hello world")
},
processData: false
}
关于javascript - backbone 获取 url 数据格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26631959/