我想使用json获取api值。如果我单击json按钮我没有得到任何响应

时间:2014-10-28 10:17:59

标签: php

我想使用json获取api值。如果我点击json按钮我没有得到任何回复我不知道为什么这不是昨天运行我用api方法检查它只在帖子中。我不知道我缺少的地方。 这是我的代码:

<script type="text/javascript">
function json()
{
    xmlhttp= new XMLHttpRequest();
    var url="http://new.ezeeinfosolutions.com/busservices/auth/getAuthToken?namespaceCode=demo&username=ram@demo.com&password=newnew&devicemedium=WEB";
    alert(url);
    //var url="dbarr.php";
    xmlhttp.onreadystatechange=function()
    {
        if(xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            var ret_arr=JSON.parse(xmlhttp.responseText);
            json_arr(ret_arr);
        }
    }
    xmlhttp.open("POST",url,true);
    xmlhttp.send();
}
function json_arr(x)
{
    var res="";
    var i;
    for(i=0;i<x.length;i++)
    {
        res+=x[i].name+" "+x[i].mobile+"</br>";
    }
    document.getElementById('print').innerHTML=res;
}
</script>

<form name="f1" action="" method="post">
<input type="submit" onClick="json();" value="Json">
<p id="print"></p>
</form>

2 个答案:

答案 0 :(得分:1)

我可以假设&#34; http://new.ezeeinfosolutions.com&#34;不是你的域名,你在你的服务器上创建了一些php镜像文件。

此文件将从http://new.ezeeinfosolutions.com获得响应并返回json。

答案 1 :(得分:0)

他们几乎没有可能的解决方案,如果他们中的任何一个让你成功而不是吵架:)

  1. 尝试设置响应类型。

    xmlhttp.responseType ='json';

  2. 尝试使用xmlhttp.response而不是xmlhttp.responseText

  3. 使用此示例进行比较。

    var getJSON = function(url, successHandler, errorHandler) {
      var xhr = typeof XMLHttpRequest != 'undefined'
        ? new XMLHttpRequest()
        : new ActiveXObject('Microsoft.XMLHTTP');
      xhr.open('get', url, true);
      xhr.responseType = 'json';
      xhr.onreadystatechange = function() {
        var status;
        var data;
        // http://xhr.spec.whatwg.org/#dom-xmlhttprequest-readystate
        if (xhr.readyState == 4) { // `DONE`
          status = xhr.status;
          if (status == 200) {
            successHandler && successHandler(xhr.response);
          } else {
            errorHandler && errorHandler(status);
          }
        }
      };
      xhr.send();
    };
    
    getJSON('https://mathiasbynens.be/demo/ip', function(data) {
      alert('Your public IP address is: ' + data.ip);
    }, function(status) {
      alert('Something went wrong.');
    });
    

    阅读更多:https://mathiasbynens.be/notes/xhr-responsetype-json