Javascript ajaxpost返回html

Javascript ajaxpost返回html,javascript,jquery,ajax,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

我有下面提到的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");
    }
});
//this is the processor php
echo "success";
假设我已经有了jquery的链接脚本和ajax函数中数据参数上声明的那些变量的内容。现在我有了一个processor.php,请参阅下面的

$.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");
    }
});
//this is the processor php
echo "success";
因此,根据以上引用,ajax函数向processor.php提交一个post请求,然后processor.php将按照echo success声明的方式响应成功字符串,但实际情况是它没有得到成功响应,而是当前页面上的整个html标记都会弹出警报,为什么??如有任何想法、线索、建议,我们将不胜感激。多谢各位


PS:我知道响应没有成功,但为什么它会在当前页面中弹出整个html标记?

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

编辑

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

错误语法:

data: { 'id' : "itemid, 'itemname' : itemname, 'itemdesc' : itemdesc" }
建议更改:

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

试试这个,我认为你传递参数的方式是错误的。我只是创建了一个例子,根据你的要求修改代码

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

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

我想可能发生了一些重定向。如果您直接访问浏览器中的processor.php会发生什么情况?它成功地回显了成功。您的php回显了格式化的html?发送一个属性为“success”的ajax,并解析JSONY在处理器内部不再需要trim。php是,我使用trim只是为了在没有任何空格的情况下获得准确的响应success。@cox:我甚至删除了trim,只留下alerte;但遗憾的是,它给了我相同的弹出窗口,所有html都在一个警报中。仍然有相同的问题,我甚至试图更改post类型以获取并将整个脚本更改为$document.readyfunction{alertasdsad;};只是为了确保我的jquery有效。请检查我答案中添加的段落。你收到什么HTML内容?这些标签是在processor.php的源代码中还是当前页面的未知标签或内容中?谢谢!这是一个虚拟主机配置问题,这就是我的ajax功能丢失的原因。