我有这个ajax功能(参见下文)
$.ajax({
url: "processor.php",
type:"POST",
data: { 'id' : "itemid, 'itemname' : itemname, 'itemdesc' : itemdesc" } ,
success:function(e){
if(($.trim(e) == "success")){
alert("success");
}else{
alert(e);
}
},error:function(){
alert("critical error");
}
});
假设我已经拥有了jquery的链接脚本以及那些已经在ajax函数内的data参数上声明的变量的内容。现在我有一个processor.php(参见下文)
//this is the processor php
echo "success";
所以从上面的引用开始,ajax函数向processor.php提交一个post请求,然后处理器.php将响应“echo”成功声明的“success”字符串,但是发生的是它没有得到成功响应而不是当前页面上的整个html标签弹出(警报),为什么?任何想法,线索,推荐,建议将不胜感激。谢谢。
PS:我知道响应不成功但是为什么它弹出(警告)当前页面中的整个html标签?
答案 0 :(得分:0)
发布的数据中存在语法错误,您可能需要重定向到新页面而不是processor.php。
修改
还要确保processor.php只返回单词“success”,并且页面源中没有更多的html标记。
语法错误:
data: { 'id' : "itemid, 'itemname' : itemname, 'itemdesc' : itemdesc" }
建议改变:
data: { id : itemid, itemname : itemname, itemdesc : itemdesc }
答案 1 :(得分:0)
试试这个我认为你传递的参数是错误的方法。我只是创建一个例子来根据你的要求更改这段代码。
$.ajax({
url: "script.php",
type:"POST",
data: { id : itemid, itemname : itemname, itemdesc : itemdesc },
success: function(data, status, settings)
{
alert(The request URL and DATA);
}
,
error: function(ajaxrequest, ajaxOptions, thrownError)
{
alert("error");
}
});
答案 2 :(得分:0)
我以前经验丰富,检查你的文件夹和文件结构,如果你正在运行服务器端脚本(如php)或与数据库通信,请检查你的虚拟主机配置。