向 php 脚本发出 Ajax 请求,但没有输出任何内容


Making Ajax request to php script but nothing being output

我正在对一个名为save_tags.php php文件执行Ajax请求,这是文件的内容:

     $id = $_POST['id'];
     $name = $_POST['name'];
     $type = $_POST['type'];
     $tags = json_decode(stripslashes($_POST['tags'])); //Should be an Array but is a String...
     $removeTags = json_decode(stripslashes($_POST['removeTags']));
     //Type can be company, contact, column, supplement, programme. 
     if($type == 'company'){
        $tagObject = new DirectoryCompany($id);
    }elseif($type == 'contact'){
        $tagObject = new DirectoryContact($id);
    }elseif($type == 'column'){
        $tagObject = new Column($id);
    }elseif($type == 'supplement'){
        $tagObject = new Supplement($id);
    }elseif($type == 'programme'){
        $tagObject = new Programme($id);
    }elseif($type == 'list'){
        $tagObject = new DirectoryContactList($id);
    }
     //Add and Remove Tags by looping through the Arrays.  
     foreach($tags as $tag){
         $tagObject->addTag($tag, $id); 
     }
     foreach($removeTags as $tag){
         $tagObject->deleteTag($tag, $id);   
     }
     //Get the tags associated with the object
    $tagarray = $tagObject->getTags($id); 
    // Add Tags to All contacts on the list
    $tagObject->getAllcontactsAndAddTags($id);
    //Build HTML output
    $output  = "<ul>";
    foreach($tagarray as $tag){
        $output .= "<li>". $tag .'<a href="#">[X]</a>'."</li>";
    }
    $output .= "</ul>";
    echo $output;
?>

该文件的目的是应用用户已检查的标记,并将其应用于正在处理的对象。目前上面的代码正在工作,就像在标签中一样正在应用和保存。但是不起作用的是$output变量没有被echoed,我不知道为什么。

此外,当我通过浏览器窗口检查我的控制台时,我可以看到请求文件时出现500错误。

我将不胜感激任何帮助。

<ul>这是

标签html,请检查源页面

并检查警报(数据)

$.ajax({  
                    type: 'POST',  
                    url: 'url',
                    data: { },  
                    success: function(data) {alert(data)}
                });
$output  = "<ul>";
    foreach($tagarray as $tag){
        $output .= "<li>". $tag .'<a href="#">[X]</a>'."</li>";
    }
    $output .= "</ul>";
    echo $output;

如果$tagarray为空,则 echo = 页面上<ul></ul>不可见

> 500 个错误通常意味着你的 php 代码有问题。确保代码不会出错。尝试在浏览器中转到它并确认没有错误。

首先,尝试在这里和那里放置一些var_dumps,看看你的数据是否正确。状态代码 500 表示脚本中很可能存在致命错误。这可以是在这个 php 文件中,也可以是你的一个类。您很可能会在几分钟内找到答案。要检查您的脚本是否有效,请尝试回显一些简单的"test"并注释其他所有内容。