Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 发送接收到的数据发生更改_Javascript_Php_Jquery - Fatal编程技术网

Javascript 发送接收到的数据发生更改

Javascript 发送接收到的数据发生更改,javascript,php,jquery,Javascript,Php,Jquery,我有一个文本区。我正在发送文本区域的值 <textarea class="php" name="codeguru"></textarea></div> <div class="hint">This code is editable. Click Run to execute.</div> <input type="submit" value="Run" /> 问题:当我发送像echo‘sanjay’这样的数据时; 它被转换

我有一个文本区。我正在发送文本区域的值

<textarea class="php" name="codeguru"></textarea></div>
<div class="hint">This code is editable. Click Run to execute.</div>
<input type="submit" value="Run" />
问题:当我发送像echo‘sanjay’这样的数据时; 它被转换为echo“sanjay”


我已经在localhost和cpanel上实现了同样的功能。这在localhost上运行良好,但在cpanel上并不完美。如果您有任何建议或想法,我们将不胜感激。

您应该在AJAX之前对其进行URL编码,并在服务器端对其进行解码。 这种情况在JSON字符串中的特定字符中经常发生,我通常对其进行URL编码:

意思是:

    $.ajax({
    type: 'GET',
    url: 'exec.php',
    dataType: 'JSONP',
    data: {
        code: encodeURIComponent(code)
    },
    success: function (data) {},
    jsonpCallback: 'mycallback',
    error: function (xhr, ajaxOptions, thrownError, err, textStatus) {

    }
});
在服务器端:

$code = urldecode($_POST['code']); // or rwaurldecode, not sure
尝试使用
/
发送代码,并查看它的响应,因为我也遇到了这些问题,如果它尝试在引号中添加斜杠等。我使用以下函数,但您可以根据需要修改它:

function addslashes( str ) {
    return (str + '').replace(/[\\"]/g, '\\$&').replace(/\u0000/g, '\\0');
}
我得到了答案

$code = stripslashes($code);

由于这段代码,我可以删除黑斜杠

您的
php.ini
中是否启用了
magic\u quotes\u gpc
?请尝试var\u dump(获取magic\u quotes\u gpc()),如果你是真的,那么magic_quotes_gpc就是问题所在。
magic_quotes_gpc
从PHP5.4.0开始被删除,所以如果你在上面,就不需要检查了。来源:我已经尝试了你的代码,但不起作用。如果我在收到代码后必须更改代码,那么我现在收到的代码是echo“sanjay”,我想更改为echo“sanjay”“那我该怎么办呢?如果你在发送之前对echo‘sanjay’进行编码,并且检查一下神奇的引号,你就不应该收到它。”。
$code = stripslashes($code);