Ajax调用PHP没有返回成功

时间:2014-12-26 05:20:55

标签: javascript php jquery ajax

问题在于我的Ajax调用失败了。 调用alert(RealMessage);,因此我知道输入了此函数,但未调用"MSG SENT"警报,这告诉我此Ajax请求失败。我认为,如果脚本运行,为了使PHP请求返回成功。即使我认为我没有返回任何东西,我在某种程度上需要回复一些东西,以表明它是成功的吗?

JS:

$("#EnteredMessage").submit(function(){
    var RealMessage = document.getElementById("message").value;
    alert(RealMessage);
    $.ajax({
        url:"sendmessage.php",
        data: {msg:RealMessage},
        type:"POST",
        datatype: "JSON",
        success: function(){
            console.log("Message sent");
            alert("MSG SENT");
        }
    });
});

PHP:

<?php

$message = $_POST["msg"];

$filecreate = fopen("messages.txt","w");

fwrite($filecreate,$message);
fclose($filecreate);

3 个答案:

答案 0 :(得分:1)

在PHP中

,用json_encode

回显结果
<?php

$message = $_POST["msg"];

$filecreate = fopen("messages.txt","w");

fwrite($filecreate,$message);
fclose($filecreate);

echo json_encode(array("result"=>"your result"));
你的jQuery代码中的

datatype是一个不正确的关键字。 dataType是正确的关键字,并使用引号将keys包裹在data中,然后在ajax success console.log中包含返回的data_result

$("#EnteredMessage").submit(function(){
    var RealMessage = document.getElementById("message").value;
    alert(RealMessage);
    $.ajax({
        url:"sendmessage.php",
        data: {'msg':RealMessage},
        type:"POST",
        dataType: "json",
        success: function(data_result){
            console.log(data_result);
        }
    });
});

答案 1 :(得分:0)

试试这个

使用json_encode json_encode

echo json_encode(array("status"=>'success'));

答案 2 :(得分:0)

  

是的,您需要通过echo返回一些json响应结果。请参阅下面的代码。

在php中

<?php

$message = $_POST["msg"];

$filecreate = fopen("messages.txt","w");

fwrite($filecreate,$message);
fclose($filecreate);

echo json_encode(array("result"=>'Message sent!!!'));  //you can sent any thing

?>