- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试对作为 POST 请求中的参数传递的 URL 进行编码。 URL 包含“+”字符,而 javascript 的encodeURIComponent() 似乎没有对这些字符进行编码。知道为什么会出现这种情况吗?
代码:
var url = "http://........"
url += "&url=" + encodeURIComponent(params.url);
var deferred = dojo.xhrPost({
url: url,
headers: { "X-Requested-With": null },
sync: true,
load: function(responseObject, ioArgs) {
console.info(".....................");
params.onSuccess();
},
error: function(error) {
console.error("Error uploading image" + error);
params.onError();
}
});
实际网址:
http://......../images/I/41zMWkv3+9L._CLa|500,500|41c4imMJhOL.jpg,31PAFct+UsL.jpg_.jpg
编码后的网址:
http://......../images/I/41zMWkv3+9L._CLa%7C500,500%7C41c4imMJhOL.jpg,31PAFct+UsL.jpg_.jpg
“|”字符被编码,但“+”未被编码。
这会导致 URL 在服务器端被解码为以下 URL(“+”替换为“”):
http://......../images/I/41zMWkv3 9L._CLa|500,500|41c4imMJhOL.jpg,31PAFct UsL.jpg_.jpg
如果有任何帮助,我将不胜感激。
谢谢
最佳答案
当我使用 encodeURIComponent
或 decodeURIComponent()
处理此字符 +
或反 的查询字符串时,我也遇到了这个特殊问题>''
我必须使用 replace("", "+");
。
我说这是正常的,因为看看这个网站,它也使用了替换 SITE该网站建议解码时用 替换 +,因为 unescape 不会
我尝试使用 +
编码 %2B
DEMO
或者使用 decodeURIComponent()
但你不想要 DEMO
您可以使用 var url=document.location.search;
处理变量内的 url,该变量仅包含 .html
之后的部分
重复:
search Returns the query portion of a URL
示例:
http://localhost:8100/index2?json_data=demo_title%24+Demo+title+%23+proc1_script%24+
与document.location.search
:
?json_data=demo_title%24+Demo+title+%23+proc1_script%24+
使用replace
或其他方法后,您可以使用
document.location.href="index2"+url;
您可以使用index.html
或exercise.html
更改index2(您必须知道)
您可以在此 site 上查找所有字符的编码
更新
您尝试使用以下代码:
var url = "http://........"
url += "&url=" + encodeURIComponent(params.url);
//There is a error because miss `?` then you replace `"?url="` else leave so
var deferred = dojo.xhrPost(xhrArgs);
var xhrArgs= {
url: url,
headers: { "X-Requested-With": null },
sync: true,
load: function(responseObject, ioArgs) {
console.info(".....................");
params.onSuccess();
},
error: function(error) {
console.error("Error uploading image" + error);
params.onError();
}
});
什么是params
???
关于javascript - encodeURIComponent() 似乎没有使用 dojo.xhrPost() 编码 '+' 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17223874/
当我使用 dojo.xhrGet 时,我使用这种方式通过 GET 发送多个参数 dojo.xhrGet ({ url:"MyServerPageURL?Param_A="+"ValueA"+"
免责声明 - 我已经审查了现有的 SO 条目,并拼凑了一些应该有效但仍然无效的内容。 我有以下功能。基本上,它是将一对值发送到 Web 服务,结果以 JSON 形式返回: getPicklist: f
我对此很陌生,事实上这是我第一次尝试 Dojo。我正在尝试从以下网站获取数据: //How are we supposed to know what else to include in th
var cType = function(templateId){ dojo.xhrPost({ url : "/mediation1.0.1/template
我正在尝试在 Dijit 树小部件中捕获所选项目以呈现网页的剩余部分。下面是捕获所选项目并将其发送到 Django 后端的代码: alert("Execut
要触发 dojo 的 xhrPost 的错误处理程序,是否有发送服务器响应的特定格式?或者只需在 HttpServletResponse 对象中将状态代码设置为所需的错误代码即可。 谢谢,RR 最佳答
我有一个登录脚本,可以将用户名/密码作为 json 格式发送到服务器。它使用 POST,因此在客户端使用 xhrPost 完成。问题是,当我尝试使用 Firefox 登录时,浏览器不会发出 POST
在 dojo API 文档中,我可以找到 load 和 error 的回调,但我缺少 progress 的回调。 load: function(data) { dojo.byId("respo
我的问题是:我们可以使用 dojo.xhrPost 发布一些 Json 数据吗?更多详情: 我一直在尝试使用 Dojo 代码将 JSON 数据发布到 RESTful 服务。似乎是的行为dojo.xhr
我已使用 REST 创建了一个登录名和 Dojo 。我正在使用 dojo xhrpost 提交我的登录表单数据。提交是通过 onClick 函数执行的。响应是从剩余方法返回的。如何将响应对象存储在 d
我正在尝试将 json 字符串发布到 REST 服务。正在使用以下代码: dojo.xhrPost( { url: REST_URL, postData: jsonData,
我在尝试使用 dojo.xhrPost 将 JSON 字符串发布到 Zend Framework Controller 时遇到问题。 当我将字符串发布到服务器时,我没有收到任何数据发送。我什至尝试过只
我有一个页面,它依赖于一些局部刷新来进行交互。我不打算使用保持 session 事件机制,但我想捕获错误响应我的部分刷新,提醒用户他们的 session 已过期/他们需要刷新,执行一个窗口。 loca
我真的不明白为什么我从带有 Dojo 的 xhrPost 得到不同的响应。对于 IE8,它工作正常并且可以读取 XML - 但在 Firefox 中它的工作方式不同并且没有“serverRespons
我正在尝试对作为 POST 请求中的参数传递的 URL 进行编码。 URL 包含“+”字符,而 javascript 的encodeURIComponent() 似乎没有对这些字符进行编码。知道为什么
我正在使用 DOJO 框架向服务器提交表单详细信息。 xhrPost方法用于将表单提交到服务器。使用JSON消息格式。 当这适用于大多数桌面浏览器和一些移动浏览器时,我收到错误 TypeError:C
我是一名优秀的程序员,十分优秀!