尝试通过JQuery Ajax发送特殊字符到PHP脚本


Trying to send special characters via JQuery Ajax to PHP script

我正在通过JQuery Ajax向PHP文件发送特殊字符。

send_to_process.js

var special_charac = '!@#$%^&*()_+-=';
var dataString = 'data=' + special_charac;
$.ajax({
                type: "POST",
                url: "./process.php",
                data: dataString,
                cache: false,
                success: function (result) {
                }
            });

process.php

<?php
$data= $_POST['data'];
echo $data;
?>

在PHP文件中,我得到的所有值除了+&

为什么呢?

JQuery Ajax有一些限制,什么数据可以发送到PHP脚本?

这些都不是AJAX的限制。这些是URL限制。例如,用于分割参数。只需发送数据作为json对象

:

data: dataString,

,

data: {data: special_charac}

或使用encodeURI函数转义数据

var dataString = 'data=' + encodeURI(special_charac);