问题标签 [encodeuricomponent]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 对URIcomponent非utf-8字符进行编码并相应解码的正确方法是什么?
我有一个 Javascript 小书签,用于encodeURIcomponent
将当前页面的 URL 传递到服务器端,然后urldecode
在服务器端使用来取回字符。
问题是,当编码字符不在 utf-8 中时(对于我来说它是 gb2312,但它可能是别的东西),并且当服务器执行 时urldecode
,解码的字符变成正方形。显然,这不是编码之前的样子。
它是一个书签,输入可以是任何东西,所以我不能只在 js 中定义“编码为 gb2312”,或者在 php 脚本中定义“解码为 gb2312”。
那么,有没有正确的使用方法encodeURIcomponent
,将字符编码与内容一起传递,然后解码可以选择正确的编码对其进行解码?
javascript - javascript encodeURIComponent 并将空格转换为 + 符号
我想对我的 URL 进行编码,但我想将空格转换为加号。
这就是我试图做的......
输出结果是,Testing%2Bthis%2Bhere%2B%26
但我希望它是Testing+this+here+%26
我尝试用替换空格%20
将其转换为加号,但这似乎不起作用。谁能告诉我我在这里做错了什么?
php - Javascript encodeURIComponent 重定向问题
我有一个与 jquery 和 php 一起使用的搜索框,当您在此搜索框中输入内容时,jquery 会准备一个查询并重定向位置。准备查询部分效果很好,但重定向部分的编码查询存在问题。页面在重定向之前自动解码编码的查询。
如果您在搜索框中键入“test1 test2 test3”,它会使用 encodeURIComponent() 成功地将查询编码为 test1%20test2%20test3。
现在页面将自己重定向到 result.php+query。我的问题是页面转到 result.php?q=test1 test2 test3 而不是 result.php?q=test1%20test2%20test3。
这是代码
警报结果是 q=test1%20test2%20test3 但结果是 result.php?q=test1 test2 test3
编辑:如果我使用带有重定向代码的 encodeURIComponent 函数,它工作得很好。
这些代码正在工作,但它也编码 q= 部分。
php - JSON的双重编码
在我的大多数 AJAX 函数中,我必须对用户输入的自由文本进行双重编码,即我必须执行 encodeURIComponent(encodeURIComponent(myString))。
如果我只做一次,除了双引号和长连字符之外的大多数符号都有效。
如果我从单个编码中警告结果,引号被编码,但它会破坏 JSON 字符串,这就是我感到困惑的原因。
这是 JavaScript 的错误还是我遗漏了什么?它是否与您必须在 PHP 中对 & 符号进行双重编码才能使其工作的方式有关?
你好,
这是允许用户针对某事存储注释的代码:
那么如果我的数据结构是扁平的,那么使用 JSON 就没有优势了吗?
我的印象是 JSON 提供了更多的安全性?
jquery - 在 Uri 中使用转义字符的 jQuery Ajax 调用
我正在通过 jQuery 对GET
服务方法进行 Ajax 调用。问题是使用的参数的值可以包含/
字符,所以我决定使用该encodeURIComponent()
方法从参数中转义特殊字符。结果是/
字符被转换为%5
并试图在 Ajax 请求中使用转义参数。我的代码看起来像:
不知何故 jQueryunescapes
的 uri 值,没有调用服务器,我收到一个错误代码(如果参数中不存在,404 error
调用工作正常。/
知道如何在 Ajax 调用中发送此类参数,或者我的代码做错了什么吗?
php - 通过 AJAX 发送表单 textarea 时的 encodeURIComponent() 和 UTF-8
我通过 AJAX方法 POST 将数据发送到 PHP 后端文件。数据来自 textarea,其形式具有下一个属性accept-charset="UTF-8"
。AJAX 函数发送数据http[act].send("title=" + encodeURIComponent(field.value)...)
,我的 PHP 后端文件以header('Content-Type:text/html; charset=UTF-8');
. 数据库接受名称和字段都设置为 UTF-8(这些东西从来没有问题)。
我想我应该在 PHP 后端解码encodeURIComponent()
func。但是怎么做?
编辑(对不起):
Fibra Dietética插入 DB 为fibra
Dietética Acompañada插入为Acompañada
...等等。
javascript - 如何获取encodeURIComponent的值
这是我的 jsignature 代码中的脚本
我想获取图像数据并将其作为 php 值传递,以作为 pdf 电子邮件发送
但我不知道如何将代码的输出包含在表单中。
我想我想试试他做了什么
但不知道如何产生相同的结果。
javascript - 如何导出带有文件名的csv文件
我想将现有数据导出到 csv 文件中。我尝试使用此代码:
它可以工作,但我可以设计文件名。我只能得到名称为“MVeAnkW8.csv.part”的对话框,我不知道该名称来自何处。
如何在第一个对话框中分配文件名?提前致谢。
更新:
我现在正在使用导轨。实际上,我在服务器端名称 export_to_csv 中有一个方法。在这个方法的最后,我使用这样的代码:
它可以工作,我可以指定文件名。现在,我想使用ajax来获取更多的csv文件(这就是我想使用javascript的原因,因为普通的http请求只能下载一个文件)。
我使用这样的js代码:
它从服务器端获取数据,我尝试将其传输到 csv 中。我可以得到一个文件,但不能指定文件名。
php - 用 Javascript 对 url 进行编码
朋友们,我目前正在使用下面function
的encode
数据并通过GET
方法发送它们......我正在使用ajax
发送和php
接收它们......
在传递字符串通过后encodeURIComponent()
,我使用了额外的replace()
方法,以便函数将我的链接的字符串编码为类似于php
...
现在我的问题是有没有人知道任何更短或更简单的替代方法来做同样的事情......
我提出这个问题只是为了学习目的......请不要使用jQuery......
javascript - 空字符串 + null = "null"?
我今天在对我们的应用程序中的恶意 AJAX 请求进行故障排除时遇到了一个奇怪的事件。我们将数据发送回服务器,jQuery.param
用于构建请求字符串。
在一种情况下,提供给 param 函数的对象有一个 null 选项,所以它看起来像这样:
这段代码其实是埋在一个主干集合里,但是原理是一样的。
现在,当服务器收到参数时,我完全震惊了,因为变量y
是文字字符串"null"
,而不是null
。
经过一番挖掘,我发现encodeURIComponent(null)
返回的字符串"null"
和更有趣的'' + null
收益率"null"
也是如此。这是在 Chrome 23 和 Firefox 11 上测试的。
最终发送到jQuery.param
函数的对象是从函数的参数构建的,null 是参数的完全有效值。我只是通过构建对象来解决它y : param || ''
,但我很好奇原生 JS 函数的明显错误,以及为什么'' + null = "null"
,因为它们通常被认为是两个不同的概念。