我正在对名为Ajax
的{{1}}文件执行php
请求,这是该文件的内容:
save_tags.php
该文件的目的是应用用户已检查的标记并将其应用于正在处理的对象。目前上面的代码正在运行,因为正在应用和保存标签。然而,不起作用的是 $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
错误。
我很感激任何帮助。
答案 0 :(得分:1)
<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是null echo = <ul></ul>
在页面上不可见
答案 1 :(得分:1)
500错误通常意味着您的PHP代码有问题。确保代码没有错误输出。尝试在浏览器中转到它并确认没有错误。
答案 2 :(得分:0)
首先,尝试在此处放置一些var_dump以查看数据是否正确。状态码500表示脚本中很可能存在致命错误。这可以在这个php文件中,也可以在你的一个类中。 很可能你会在几分钟内找到答案。要检查您的脚本是否有效,请尝试回复一些简单的“测试”并对其他所有内容进行评论。