问题在于我的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);
答案 0 :(得分:1)
<?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)
答案 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
?>