gpt4 book ai didi

javascript - 编码 URL 参数

转载 作者:行者123 更新时间:2023-11-30 17:09:34 25 4
gpt4 key购买 nike

我在 java 脚本方面遇到了问题

1)

var text='{"type": "comTocomp","data":[{ "1" : "Key Parameters" , "2" : "Steel - Sponge/ Pig Iron"},   
{ "1" : "No of Companies" , "2" : "6,6 % " }]}';

这是我的 var 文本,我想将它发送到服务器端以生成 excel 表并且浏览器应该弹出窗口提示保存我正在做的文件

2)

       var url="/XXX/YYYY/genrateSheet";       // URL OF CONTROLLER
var encode=url+ "?data="+text; // URL + PARAMETER+ TEXT CONTENT
var resUri=encodeURIComponent(encode); // TRIED TO ENCODE BUT DOESN'T WORK
**window.location.replace(resUri);** // CALLING TO CONTROLLER TO PROMPT POPUP

问题与 var text 一样,如果它包含一些特殊字符,如 % , . 浏览器显示

 The character encoding of the plain text document was not declared

但是没有一个特殊字符适合我。

我有很多 Google,但想使用 window.location.replace(resUri)

url 进行编码

任何帮助都会对我有很大帮助。

提前致谢

最佳答案

您需要对查询字符串的值而不是查询字符串本身进行编码:

var url="/XXX/YYYY/genrateSheet";       // URL OF CONTROLLER
var resUri = url + "?data=" + encodeURIComponent(text); // querystring
window.location.replace(resUri);

也就是说,text 很长,因此您应该考虑将其post 到新页面,而不是将其传递到 URL 中。使用 jquery 做到这一点的一种方法是创建并提交一个隐藏的表单,其中包含您想要的数据:

$('button').on('click', function() {

var text='{"type": "comTocomp","data":[{ "1" : "Key Parameters" , "2" : "Steel - Sponge/ Pig Iron"}, { "1" : "No of Companies" , "2" : "6,6 % " }]}';

// create a hidden form
var theForm = $('<form action="/XXX/YYYY/genrateSheet" method="post"/>').hide();

// create a textarea named data and set your json inside it
var theTextarea = $('<textarea name="data"/>').val(text); // data in your case

// add the textarea to the form
theForm.append(theTextarea);

// submit the form
theForm.submit();
});

Working jsfiddle

关于javascript - 编码 URL 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27296061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com