Php 使用AJAX打开JSON文件

Php 使用AJAX打开JSON文件,php,ajax,json,Php,Ajax,Json,我想使用AJAX ASP/PHP打开并解析JSON文件,但由于我对web编程非常熟悉,因此很难将它们的原理联系起来 我尝试获取示例,并尝试在open方法内部进行更改(xmlhttp.open(“get”、“gethint.asp?q=“+str,true”);)。我尝试的是向方法的第二个参数输入完整的URL地址,然后尝试接收文件并对其进行解析。但我无法得到任何要解析的文件,或者我不知道是否得到了它。当我尝试用浏览器打开那个URL时,它会下载一个可解析的文本文件,我可以理解数据。我怎样才能使它自动

我想使用AJAX ASP/PHP打开并解析JSON文件,但由于我对web编程非常熟悉,因此很难将它们的原理联系起来

我尝试获取示例,并尝试在open方法内部进行更改(
xmlhttp.open(“get”、“gethint.asp?q=“+str,true”);
)。我尝试的是向方法的第二个参数输入完整的URL地址,然后尝试接收文件并对其进行解析。但我无法得到任何要解析的文件,或者我不知道是否得到了它。当我尝试用浏览器打开那个URL时,它会下载一个可解析的文本文件,我可以理解数据。我怎样才能使它自动

我的当前代码可以在下面找到:

<!DOCTYPE html>
<html>
<head>
<script>
function showHint(str)
{
    var xmlhttp;

    if (str.length == 0)
    { 
          document.getElementById("txtHint").innerHTML = "";
          return;
    }

    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("txtHint").innerHTML=xmlhttp.responseText;
        }
    }

    var url = "https://www.google.com.tr/complete/search?client=hp&hl=en&sugexp=ernk_ir&gs_rn=8&gs_ri=hp&tok=VepIjB5Y4hHneLHcIO5AsQ&cp="+str.length+"&gs_id=1sy&xhr=t&q="+str+"&tch=1&ech=1&psi=FW9kUZu1J6Sw0QXLyIHgBg.1365536538389.1";

    xmlhttp.open("GET",url,true);
    xmlhttp.send();
}
</script>
</head>

<body>

<h3>Start typing a name in the input field below:</h3>
<form action=""> 
    Search Word: <input type="text" id="txt1" onkeyup="showHint(this.value)" />
</form>
<p>Suggestions: <span id="txtHint"></span></p> 

</body>
</html>

函数showHint(str)
{
var-xmlhttp;
如果(str.length==0)
{ 
document.getElementById(“txtHint”).innerHTML=“”;
返回;
}
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“txtHint”).innerHTML=xmlhttp.responseText;
}
}
变量url=”https://www.google.com.tr/complete/search?client=hp&hl=en&sugexp=ernk_ir&gs_rn=8&gs_ri=hp&tok=VepIjB5Y4hHneLHcIO5AsQ&cp=“+str.length+”&gs_id=1sy&xhr=t&q=“+str+”&tch=1&ech=1&psi=FW9kUZu1J6Sw0QXLyIHgBg.1365536538389.1”;
open(“GET”,url,true);
xmlhttp.send();
}
开始在下面的输入字段中键入名称:
搜索词:
建议:


我知道这是不完整的,我只是想知道,如果我走错了路,或者我应该添加一些其他东西

正如@Musa提到的,不允许跨域脚本编写,也就是说,google.com上的代码不允许被驻留在您的“域名”上的代码处理,JSONP可以作为一种解决方法。[1]:打开文本文件并解析其内容的最佳方法是什么?这似乎是我试图实现的最接近的例子。向谷歌询问“php读取文本文件”或从简单的php教程开始。。。非常简单,一行就足够了: