在没有JQuery的情况下通过Ajax / JSON发送数组

时间:2015-05-09 18:34:01

标签: php ajax json

我正在尝试使用Ajax并尝试从PHP函数向调用javascript函数发送一维非关联数组。数组很简单:

$arr[0] = 1900-1905
$arr[1] = 1905-1911

等。 由于各种原因我使用jQuery,但我对使用Ajax的原始Javascript方式相当熟悉,但我似乎无法找到如何使用Javascript处理JSON数据客户端的方法。我将使用类似

的调用来调用PHP函数
myserver.com/myfunction.php?var1=1&var2=2&var3=3

我知道你必须在PHP函数中使用echo json_encode($ arr),但是你如何在Ajax方法中将JSON转换回数组并访问数组元素?通过阅读本论坛的一些答案,这是人们陷入困境的部分。

非常感谢。

2 个答案:

答案 0 :(得分:2)

试试这个

function callAjax()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200) //Success
    {
        var objResponse = JSON.parse(xmlhttp.responseText); //JSON.parse Parses a string as JSON
        console.log(objResponse[0]); //1900-1905
    }
  }
xmlhttp.open("GET","myserver.com/myfunction.php?var1=1&var2=2&var3=3",true);
xmlhttp.send();
}

答案 1 :(得分:0)

这个块是回调。如您所见,您的问题可以通过函数调用解决。

success: function(response) {
    //do something with jQuery.parseJSON
}