javascript - 如何在 POST 的值参数之一中替换 `&`?

标签 javascript jquery html

这是我在 textarea 中使用 tinyMCE 的内容:

helloóóó

我使用 tinyMCE 从 textarea 获取内容并将其解析为我当前的字符串: action=update&range=settings&id=content_home&content=helloóóó

当我通过 POST 将此发送到服务器时,我的 content 值在 hello 之后结束,当有 helloóóó.

我能以某种方式解决这个问题吗?有什么特殊的方法吗?

这就是我构建字符串的方式:

var textarea = $(this).parent().find('.tinymce').first()
if (textarea.length) {

    var content = tinyMCE.get(textarea.attr('id')).getContent();
    data += '&content=' + content;
}

$.ajax({
    type : "POST",
    url : url,
    data : data,
    dataType : "json",
    success : function(back) {}
});

最佳答案

正如其他答案指出的那样,您需要使用 encodeURIComponent

data += '&content=' + encodeURIComponent(content);

但更好的选择是将您的数据放入一个对象中,让 jQuery 为您处理。

var data = {
   action : "update",
   range : "settings"
   /* your other fields */
};
data.content = content;

$.ajax({
    type : "POST",
    url : url,
    data : data,
    dataType : "json",
    success : function(back) {}
});

关于javascript - 如何在 POST 的值参数之一中替换 `&`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33785508/

相关文章:

javascript - 如何捕获页面上的所有请求和响应,并根据需要对每个响应状态执行操作

javascript - 如果页面有某些元素如何运行js

html - 相对位置和绝对位置(三 Angular 形)有什么区别?

javascript - Google电子表格自定义函数不返回任何内容

javascript - 动态渲染局部 View

javascript - 相同的js highcharts显示不一样

javascript - 使用 php、mysql 和 javascript 将值动态获取到文本字段,如 slider

html - 将标记下的所有元素的字体大小降低 X 或原始值的 X 数量

html - 带有标签的重叠按钮

javascript - 加载后引用JS和CSS文件