我正在使用骨干集合来获取一些数据。在我的选项中传递给fetch我有一个字符串参数,添加到url:
options = {data: {sterm: "hello world"}}
当骨干网运行此网址时,网址包含
sterm=hello+world
后端不接受它需要的格式为:
sterm=hello%20world
所以我将选项更改为:
options = {data: {sterm: encodeURIComponent("hello world")}}
然后当执行fetch时,它包含正确格式化的查询参数,但是如果我传入一个带有%的字符串,那么encodeURIComponent似乎改变%25%我理解是正确的,但是然后在骨干提取中它被改为%2525,这是错误的。有没有办法配置主干fetch所以它不会将%25转换为%2525?
答案 0 :(得分:3)
Backbone
收集fetch()
方法uses jQuery.ajax()
方法并接受jQuery.ajax()
个选项作为参数。在jQuery.ajax()方法的documentation中,您可能会发现如果将processData
字段定义为false
,则请求中不会对数据进行预处理。
options = {
data: {
sterm: encodeURIComponent("hello world")
},
processData: false
}