PHP+AJAX发送数据(链接)麻烦

标签 php javascript ajax url-encoding

我使用自己的 AJAX 代码发送数据,它有效,AJAX 发送且 PHP 代码获取变量,但是:

当我尝试发送链接(例如: http://abc.com/abc+/ )或 var 之类的文件夹名称具有 + 时,它返回不带 + 的字符串。

AJAX 以 &data='+encodeURIComponent(data)+' 形式发送数据,PHP 获取 urldecode($data);

我的问题是如何从 POST 数据中获取 PHP 变量,而不从字符串中删除 + 字符。

最佳答案

使用rawurldecode()在 PHP 中。 rawurldecode() urldecode() 时不会将加号 (+) 解码为空格确实如此。

这样,无论您的 JavaScript 将加号字符作为文字字符串 + 发送还是作为编码字符串 %2B 发送,PHP 都会将其解码为加号字符。

关于PHP+AJAX发送数据(链接)麻烦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13553580/

相关文章:

php - 尝试使用 codeigniter 将其写入数据库时​​,整数更改为随机字符串

php - 如何在 laravel 中的一个函数中为同一路由返回多个 View

javascript - 如何使用 jquery ajax 将包含 ReactJs 的页面加载到其他页面中

html - Firefox 缩放自己的网站

javascript - AngularJS - 相同级别的指令错误地使用相同的名称方法

javascript - Ajax 调用的 Angular 1 服务的竞争条件

javascript - 如何将 Node js中的数据POST到codeigniter?

php - 如何在 Wamp 3 中的 PHP 版本之间切换?

javascript - 将 js 变量定义为全局会导致任何安全问题吗?

javascript - 在 JS 幻灯片中单击图像时转到其他 URL 和 anchor