Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.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
Php 意外标记'<';-AJAX_Php_Javascript_Html_Ajax_Json - Fatal编程技术网

Php 意外标记'<';-AJAX

Php 意外标记'<';-AJAX,php,javascript,html,ajax,json,Php,Javascript,Html,Ajax,Json,所以我尝试将一个数组输出到javascript,它将告诉我某些流是在线的还是离线的。每次我试图提醒输出时,它都会给我一个意外的标记' 我的Iframe html文件只包含flash嵌入对象。我不知道发生了什么-我知道$streams肯定会返回一个数组,所以不知道该怎么办。我的javascript调试器中出现错误。听起来好像无法解析返回的json(xmlhttp.responseText) 而不是查看响应文本的值来了解为什么无法解析它 if(xmlhttp.readyState == 4

所以我尝试将一个数组输出到javascript,它将告诉我某些流是在线的还是离线的。每次我试图提醒输出时,它都会给我一个意外的标记'
我的Iframe html文件只包含flash嵌入对象。我不知道发生了什么-我知道
$streams
肯定会返回一个数组,所以不知道该怎么办。我的javascript调试器中出现错误。

听起来好像无法解析返回的json(xmlhttp.responseText) 而不是查看响应文本的值来了解为什么无法解析它

    if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
    {   
        console.log(xmlhttp.responseText);
        var test = JSON.parse(xmlhttp.responseText);
尝试将参数添加到url,我认为对于POST请求,只能使用send()发送参数

 xmlhttp.open("GET", "streams.php?check=true", true);
 xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 xmlhttp.send();

通常这意味着您的请求失败,您可能会得到一个html页面而不是JSON响应。解析失败,因为它接收的是html而不是JSON对象。验证ajax的目标url是否仅返回有效的JSON、任何包装响应的模板系统或404都将为您提供该响应

您还可以使用firebug或chrome developer工具,查看XHR请求并查看正文中的内容,如果它不是类似于{my_data:''}的内容,那么您可能遇到了问题


另一个注意事项是,您不需要在文件末尾使用“?>”,如果您最后增加了一行,甚至Zend建议您不要使用它们,那么它们会导致更多问题。

对请求的响应是什么?(请参阅网络面板,例如,在您最喜爱的开发人员工具面板中。)可能存在导致此问题的警告。到底是什么给了您“意外令牌”错误消息?浏览器?Javascript?PHP?我在javascript中遇到了错误,更新了我的问题,对不起。好的,我这样做了,我只得到了一个空行。我假设这意味着我的PHP没有返回任何东西,但如果我尝试回显该数组的值,它就可以正常工作。在我将PHP发送回Javascript文件之前,我是否丢失了一些内容?还要验证检查是否也已通过。
<?php  
    if($_GET['check'] == true) {
        $streams = array(
            "mxgdichello" => "offline",
            "day9tv" => "offline",
            "tx3fate" => "offline",
            "wochtulka" => "offline",
            "unawaresc2" => "offline",
            "xerse" => "offline",
            "atree2425" => "offline",
            "sc1pio"  => "offline",
            "lokk_2" => "offline",
            "tsremark" => "offline",
            "ognastarcraft" => "offline"
        );

        foreach($streams as $index)    {
            $json_file = @file_get_contents("http://api.justin.tv/api/stream/list.json?channel={$index}", 0, null, null);
            $json_array = json_decode($json_file, true);

            if ($json_array[0]['name'] == "live_user_{$index}") {
                $index = "online";
            } else {
                $index = "offline";
            }
        }

        echo json_encode($streams);
    }
?>
    if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
    {   
        console.log(xmlhttp.responseText);
        var test = JSON.parse(xmlhttp.responseText);
 xmlhttp.open("GET", "streams.php?check=true", true);
 xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 xmlhttp.send();