为什么ajax帖子不起作用?

时间:2014-05-28 19:39:03

标签: javascript php jquery ajax post

    $("#MainContent_btnSave").click(function (e) {
    var xmlhttp;
    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp = new XMLHttpRequest();
    }
    else {// code for IE6, IE5
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function () {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    $('#myDiv').text(xmlhttp.responseText);
    }
    }
    xmlhttp.open("POST", "send.php", true);
    xmlhttp.send();
    e.preventDefault();
    });

上面的javascript代码是javascript函数,通过单击id = MainContent_btnSave的按钮来调用它。

参数GET的相同请求成功完成。

但是参数POST xmlhttp.status总是等于405并且出现如下错误:"命令HTTP POST,用于' send.php',被拒绝。" 可能是什么问题?

文件' send.php'包含:

    <?php
   echo "Your email was sent!";
    ?>

2 个答案:

答案 0 :(得分:2)

如果您正在使用jQuery,请使用它的功能。 $ .post()例如:

$("#MainContent_btnSave").click(function() {
    $.post('send.php', data, function(response) {
         $("#myDiv").text(response);
    });
});

答案 1 :(得分:2)

  

参数POST xmlhttp.status总是等于405并出现如下错误:&#34;用于&#39; send.php&#39;的命令HTTP POST被拒绝。&#34;

405错误是方法不允许。这意味着:您的网络服务器阻止了POST请求,或者您的PHP框架阻止了它,或者没有为send.php定义POST路由。