Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.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
json字符串的Javascript post:没有任何内容传入或返回_Javascript_Php_Jquery_Html_Json - Fatal编程技术网

json字符串的Javascript post:没有任何内容传入或返回

json字符串的Javascript post:没有任何内容传入或返回,javascript,php,jquery,html,json,Javascript,Php,Jquery,Html,Json,我正在处理一个从html表(两列加一个表单索引)获取数据并生成json字符串的页面。这应该传递到php中,然后我对数据进行一些计算,然后将其发送回页面,在表中附加新的列值 以下是到目前为止我得到的信息: 数据阵列 这是其中一个阵列的外观(LatData): 将数组和int转换为JSON字符串 因此,我采用两个数组,如上面的一个,长度相同,该项只是一个单值整数,并生成json字符串: json = JSON.stringify({"Item":Item, "Lat": LatData, "Lon"

我正在处理一个从html表(两列加一个表单索引)获取数据并生成json字符串的页面。这应该传递到php中,然后我对数据进行一些计算,然后将其发送回页面,在表中附加新的列值

以下是到目前为止我得到的信息:

数据阵列 这是其中一个阵列的外观(LatData):

将数组和int转换为JSON字符串 因此,我采用两个数组,如上面的一个,长度相同,该项只是一个单值整数,并生成json字符串:

json = JSON.stringify({"Item":Item, "Lat": LatData, "Lon": LongData}); 
然后我得到一个漂亮的json字符串,如下所示:

{"Item":1,"Lat":[1,1,"43.07104167","43.07178767","43.0707977","43.07115595","43.06975769","43.07023291","43.07269194","43.07112776","43.07067623","43.07285063","43.07132924","43.07091389","43.07218128","43.07279775","43.07440354","43.07560161","43.07471769","43.07073611","43.07067713","43.070925","43.07148333","43.07070833","43.07046389","43.07024444","43.07127778"],"Lon":[1,1,"-99.325375","-99.32837458","-99.32465527","-99.325341","-99.32509187","-99.32417542","-99.32573126","-99.32726626","-99.32830531","-99.32749062","-99.32966364","-99.32493056","-99.33109478","-99.33023795","-99.32853197","-99.32776487","-99.32631851","-99.3253","-99.32540699","-99.32571944","-99.32540278","-99.32453889","-99.32566667","-99.32622222","-99.32622222"]}
将JSON字符串发送到PHP 以下是我发布数据的方式:

function MakePhpCall()
{

var json ="";  //this is the JSON string of all the data
var Item=1;    //holding this constant for now

json = JSON.stringify({"Item":Item, "Lat": LatData, "Lon": LongData});  //make JSON string to pass into PHP

if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else {
        // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById("response").innerHTML = xmlhttp.responseText;
        }
    }
   xmlhttp.open("GET","Conversion_JQ.php?json=" + json, true);      

    xmlhttp.send();
}
PHP处理程序 然后在PHP方面,我执行以下操作:

$positions = json_decode($json);
echo $positions->Item[0];
echo $positions->Lat[2];
echo $positions->Lon[2];
我没有收到任何错误,但在html页面中也没有收到任何回拨到我的div的消息

目标 最后,我希望将JSON解码为PHP数组,这将帮助我更轻松地进行计算


有人能帮我一下吗?

无法使用常规的

xmlhttp.open("GET","Conversion_JQ.php?json=" + json, true);      
但是,对变量进行如下编码:

var uri = encodeRUIComponent(json);
xmlhttp.open("GET","Conversion_JQ.php?json=" + uri, true);  
允许变量传入。它最后有斜线,所以我不得不使用

stripslashes($json);

在PHP端清除字符串

PHP中的$json字符串是否等于JavaScript中的json变量?你确定PHP是由JavaScript调用的吗(你可以用骰子(“Hello World”)试试);在PHP端你可以尝试
var_dump($positions)
并告诉您得到了什么?您是否在浏览器控制台中观看了请求/响应?可能会有太多数据无法通过get发送到URL中。您可能需要使用POST并将其发送到正文中。但即使使用get是一个选项,您也需要使用
encodeUriComponent(json)
成功地传递它。为什么
xmlhtto.open有注释?那么json在哪里传递给php?
stripslashes($json);