ajax帖子返回html

ajax post return the html

本文关键字:html 返回 ajax      更新时间:2023-09-26

我有这个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函数中数据参数上声明的那些变量的内容。现在我有一个processor.php(见下文)

//this is the processor php
echo "success";

因此,根据上面的参考资料,ajax函数向processor.php提交一个post请求,然后processor.php将响应用"echo-success"声明的"success(成功)"字符串,但结果是它没有得到成功响应,而是弹出了当前页面上的整个html标记(alert),为什么??任何想法、线索、建议、建议都将不胜感激。非常感谢。

PS:我知道响应不成功,但为什么它会弹出(提醒)当前页面中的整个html标签?

试试这个吧,我认为你传递参数的方式不对。我只是创建了一个示例,根据你的要求更改这个代码。

$.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");
        }  
});

发布的数据中存在语法错误,您可能需要重定向到新页面,而不是processor.php。

编辑

还要确保processor.php只返回单词"success",并且在页面的源中没有更多的html标记。

错误语法:

data: { 'id' : "itemid, 'itemname' : itemname, 'itemdesc' : itemdesc" }

建议更改:

data: { id : itemid, itemname : itemname, itemdesc : itemdesc }

我以前有过这样的经历,请检查您的文件夹和文件结构,如果您正在运行服务器端脚本(如php)或与数据库通信,请检查虚拟主机配置。