javascript - backbone 获取 url 数据格式错误

标签 javascript url backbone.js

我正在使用主干集合来获取一些数据。在传递给 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/

相关文章:

javascript - Gulps gulp.watch 不会为新文件或已删除文件触发?

javascript - 是否可以在 JavaScript 中声明参数类型?

javascript - Firefox/Safari 中的 jQuery val() 问题

java.net.SocketException : recvfrom failed: EBADF (Bad file descriptor) Android

javascript - React.js webview 和 native 代码之间进行通信?

javascript - 无法让我看似简单的 js 提交表单功能在 WordPress 上工作

寻找 Facebook 链接的 MySQL 正则表达式

ios - 如何从浏览器打开iOS应用程序?

javascript - 使用允许新模型和 Model.find() 的 Node 创建我自己的模型

javascript - 尝试从集合中获取特定模型