骨干提取url数据格式错误

时间:2014-10-29 13:43:24

标签: javascript url backbone.js

我正在使用骨干集合来获取一些数据。在我的选项中传递给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?

1 个答案:

答案 0 :(得分:3)

Backbone收集fetch()方法uses jQuery.ajax()方法并接受jQuery.ajax()个选项作为参数。在jQuery.ajax()方法的documentation中,您可能会发现如果将processData字段定义为false,则请求中不会对数据进行预处理。

options = {
    data: {
        sterm: encodeURIComponent("hello world")
    },
    processData: false
}