0

我正在尝试从一个简单的 java 脚本函数调用我们的 API 服务器。下面是我使用的代码:

function jack() {
            //fullURL defined here
    debugger;
    var xhr = new XMLHttpRequest();
    var onLoadHandler = function(event) {
      /* do something with the response */
          debugger;
    }
    var onErrorHandler = function(event) {
          /* do something with the response */
              debugger;
        }
    xhr.open('GET',fullURL);
    xhr.onload = onLoadHandler;
    xhr.onerror = onErrorHandler;
    xhr.send();
}

我无法加载完整的完整 URL,因为页面说:“您的帖子包含无效的外部”,所以我可以确认它以 http 开头并转到 /api/phpInfo.php

我打开浏览器访问该页面并启动 Firebug。在 Firebug 控制台中,我调用 jack() 并以 var onErrorHandler = function(event) 结束。Firebug 告诉我事件是“错误”,但我需要知道什么错误?如果我转到我的 PHP 服务器,我可以在日志中看到调用已完成并返回了服务器 200 代码?Firebug 还显示“HTML”选项卡返回空白,但对 fullURL 的调用确实将信息页面返回给我(在浏览器中)

请帮忙。

4

1 回答 1

0

这对我有用!!!Javascript:

var httpReq = getXMLHTTPRequest();

函数 makeCall() { var myurl = "http://111.111.111.111:11111/api/phpInfo.php"; myRand = parseInt(Math.random()*999999999999999); var modurl = myurl+"?rand="+myRand; httpReq.open("GET", modurl, true); httpReq.onreadystatechange = useHttpResponse899; httpReq.send(); }

function useHttpResponse899() { if (httpReq.readyState == 4) { if(httpReq.status == 200) { // 在这里用获得的值/响应做所有的处理 } } }

在 phpInfo 的 PHP 服务器上,我有:

<?php 
header('Access-Control-Allow-Origin: *');
phpinfo();  
?>
于 2012-09-25T18:49:35.120 回答