Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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 使用特殊字符进行json_解码_Javascript_Php - Fatal编程技术网

Javascript 使用特殊字符进行json_解码

Javascript 使用特殊字符进行json_解码,javascript,php,Javascript,Php,我将值从java脚本传递到php文件以进行插入,如果我发送的名称没有特殊字符,则插入不会有问题。 名称:萨提斯 地点:班加罗尔 但我会用任何特殊字符发送我的名字,然后json_decode()不接受它。 名称:萨提什和库马尔 地点:班加罗尔 我尝试了utf8_encode()和var_dump()函数。 在第一种情况下,var_dump显示 字符串(43) {“姓名”:“萨提斯”,“地点”:“班加罗尔”} 在第二种情况下,var_dump显示 弦(18) {“姓名”:“萨提斯” 在本例中,若

我将值从java脚本传递到php文件以进行插入,如果我发送的名称没有特殊字符,则插入不会有问题。

名称:萨提斯
地点:班加罗尔

但我会用任何特殊字符发送我的名字,然后json_decode()不接受它。

名称:萨提什和库马尔
地点:班加罗尔

我尝试了utf8_encode()和var_dump()函数。

在第一种情况下,var_dump显示
字符串(43) {“姓名”:“萨提斯”,“地点”:“班加罗尔”}

在第二种情况下,var_dump显示
弦(18) {“姓名”:“萨提斯”

在本例中,若我遗漏了任何内容,则以18个字符结尾。请帮助我解决此问题

JavaScript

function createTC()
{
    var p=document.forms['TCForm'];
    var JSONObject =new Object;

    JSONObject.name=p['txtName'].value;
    JSONObject.location=p['txtLocation'].value;
    JSONstring = JSON.stringify(JSONObject);

    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        var request = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        var request = new XMLHttpRequest();
    }

    var random1 = Math.random();
    var urlstr="../TraineeCreation/createTC.php?rand="+random1+"&json="+JSONstring;    
    request.open("GET", urlstr , true);

    request.onreadystatechange = function()
    {
        if (request.readyState == 4)
            alert(request.responseText);
    }

    request.send(null);
}

谢谢

当您在查询字符串中放入JSON时,符号AND正在分割值。您应该使用encodeURIComponent对组件进行正确编码


请看。

&
是通过POST发送的URL和表单编码数据中的一个特殊值。它标志着上一个参数值的结束。在发送之前,您似乎没有正确编码JSON。请发布发送数据所用的JavaScript代码。请提出您的问题并添加代码。这是未经验证的请在注释中输入ble。正确设置代码格式:。