JQuery AJAX发布不向PHP发布数据

时间:2017-06-25 17:20:14

标签: javascript php jquery ajax

我似乎无法使用JQuery AJAX向PHP发布任何数据。 我找到的答案都没有给出明确的解释或解决方案。

JQuery AJAX Post:

$.post("requestlogin.php", {
        SignedIn: false,
        TokenID: 12345
    },
    function(data){
        alert("Data: " + data );
    });

requestlogin.php:

<?php
    $SignedIn = $_POST["SignedIn"];
    $TokenID = $_POST["TokenID"];
    echo $SignedIn . ' - ' . $TokenID;
?>

警告框中显示的唯一内容是“数据: - ”。

数据是否未发布? PHP无法查看数据吗?是否为JQuery Post错误地格式化了数据?

var_dump($_REQUEST);var_dump($_POST);每次打印array(0){} ..

感谢您的时间。

3 个答案:

答案 0 :(得分:1)

PHPStorm无法传输GET数据,这是一个问题。切换到WAMP进行开发,事情进展顺利!

应该从头开始使用此设置。

答案 1 :(得分:0)

试试这个。

$.ajax({
    type:'post',
    url: 'requestlogin.php',
    data: { SignedIn: false,
    TokenID: 12345},
    dataType: 'text', 
    cache: false,
    error: function(data, textStatus, errorThrown){
    console.log(textStatus);},
    success: function (data, textStatus, xmlhttp){
    alert(data); }
});

您的问题很可能是因为您没有在$ .post()方法中指定数据类型,而且它发回了xmlhttp响应作为数据&#39;在你的完整功能中,它将读取&#34;对象对象&#34;或&#34;&#34;当你在字符串中使用它时。我避免使用$ .get和$ .post,因为我个人总是遇到问题因此我只记得$ .ajax的原型,对不起lol。无论哪种方式,当您在浏览器中使用控制台确认文件内容时,都可以轻松调试此类问题。如果您不知道如何在浏览器中访问控制台,只需右键单击您使用的任何浏览器,选择检查/检查代码并在出现的窗口中选择控制台选项卡。

答案 2 :(得分:0)

你可以简单地使用:

if((isset( $_POST["SignedIn"]))&&(isset($_POST["TokenID"]))){
  $SignedIn = $_POST["SignedIn"];
  $TokenID = $_POST["TokenID"];
    echo $SignedIn . ' - ' . $TokenID;
}

并保持相同的Jquery代码:

$.post('requestlogin.php',
    {
        SignedIn: false,
        TokenID: 12345
    },
    function(data){
        alert("Data: " + data );
    });