我似乎无法使用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){}
..
感谢您的时间。
答案 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 );
});