ajax post返回html

时间:2015-03-28 08:13:58

标签: javascript jquery ajax

我有这个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标签?

3 个答案:

答案 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)或与数据库通信,请检查你的虚拟主机配置。