2017-04-05 88 views
-2

从javascript ajax发布(它根据警报正确命中并成功)我无法从我的PHP代码中获取帖子。AJAX发布到PHP没有被捕获

<script> 
function SavePlot() { 
    $.ajax({ 
     method: "POST", 
     url: 'PhpToR.php', 
     data:{action:'SavePlot'}, 
     success:function() { 
      alert("gets here"); 
     } 

    }); 
} 
</script> 

所以上述到达这里得到警报,所以应该发布,但它不是通过下面的PHP抓:

if(isset($_POST['action']) && $_POST['action'] == 'SavePlot') { 
    echo '<script>alert("Doesnt get here")</script>'; 
} 

我试过很多其他的答案,但也似乎没有成功。

+2

[你有没有看过浏览器开发人员工具中的AJAX请求/响应?你有没有在项目中包含jQuery库?是否有任何错误报告?您是否在网络服务器上运行此操作?](http://jayblanchard.net/basics_of_jquery_ajax.html) –

+1

不确定您的期望。你不会对JS(理论上)被返回给jquery做任何事情。它不会随机运行响应中的内容... –

+2

您的ajax请求正在运行,但您没有捕获服务器给出的响应。 – Jer

回答

1

首先,无论你在你的php脚本中回声如何,都不会自动显示在你当前的HTML DOM中。

但是,你可以检索你在你的AJAX调用已经回声版的PHP:

success: function(response){ 
    console.log(response); 
    alert("gets here"); 
} 

在控制台,你应该看到:

<script>alert("Doesnt get here")</script> 
0

尝试在您的ajax请求中指定dataType作为HTML

$.ajax({ 
    method: "POST", 
    url: 'PhpToR.php', 
    data:{action:'SavePlot'}, 
    dataType : 'HTML', 
    success:function() { 
     alert("gets here"); 
    } 

});