我的问题是 JQuery 如何知道何时接收数据,当我查看浏览器的控制台时,我看到 GET 调用是第一个,然后是 POST 调用。 应该先POST,再GET。
我尝试用 .ready 和一些 IF 语句等解决我的问题,但我仍然没有实现我想要实现的目标。我应该使用一些事件吗?
我的 Javscript:
(function($) {
$(document).ready(function() {
$("form#userdata").submit(function(){
$.post( "savedata.php", $("form#userdata").serialize())
.done(function( data ) {
alert( "Send data" + data );
});
return false;
alert("Error by passing data to php");
});
})})(jQuery);
$.when($.ajax("savedata.php")).then(function(){
$.get("savedata.php", function(data){
alert("Php returns validation errors:+data);
});
});
我的 php 脚本:
// Get POST data
$postData = $_POST;
// Print out for testing
// print_r($postData);
// Read data
$fistname = $_POST['firstname'];
$surname=$_POST['lastname'];
$email=$_POST['email'];
// VALIDATION
// Build return array and return JSON
$returnData = $postData;
//print(json_encode($returnData));
echo json_encode($returnData);
?>
最佳答案
$.get
在页面加载时被无条件调用,因为您没有将它放在事件处理程序中。
$.post
仅在您提交 #userdata
表单时调用,因为它是从 .submit()
事件处理程序中调用的。
关于javascript - 将 json 传递给 php 并从 php 接收数据的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19302185/