【发布时间】:2016-05-16 18:11:19
【问题描述】:
我已经阅读了许多与我的困境有关的文章,但我不明白我的问题是什么,所以请有人帮我解释一下:
我想使用 jQuery ajax 将值发布到 PHP 文件:
$().ready(function(){
"use strict";
$("#ansSubmit").click(function() {
$.ajax({
type: "POST",
url: "updateScore.php",
dataType: "json",
data:{
data : JSON.stringify(flag)
},
success: function(data) {
alert(data.reply);
},
error: function(jqXHR, textStatus, errorThrown) {
alert("jqXHR: " + jqXHR.status + "\ntextStatus: " + textStatus + "\nerrorThrown: " + errorThrown);
}
});
$("#infoDiv").load("updateScore.php"); // to see what $_POST contains
});
});
被发送的标志变量是一个整数。
这是我更新的 updateScore.php(我要发布到的 PHP 文件):
<?php
session_start();
$returned = array("reply" => "no data received");
if(isset($_POST["data"])) {
$returned["reply"] = $_POST["data"];
}
print_r($_POST);
echo json_encode($returned);
?>
“没有收到数据”被返回,所以至少我知道它到达了 updateScore.php 但现在我需要帮助确定它为什么不发送任何东西 - 我 100% 确定标志有一个值。
附加信息:
- mime.types 激活了所有 JSON 选项。
- console.log(data) 返回未捕获的引用错误:未定义数据。
- errorThrown 返回 Parse 错误:在位置 0 中出现意外
- print_r($_POST) 返回 Array()
【问题讨论】:
-
您是否检查过在调用 srigify 时已定义标志?
-
我将 XAMPP 与 PHP 5.6.14 和 jQuery 1.12.0 一起使用
-
是的,我通过警报对其进行监控。它返回一个 0 到 5 之间的整数。
-
您是通过
localhost还是通过在浏览器地址栏中输入文件名file:///c:\xampp\htdocs\index.php访问您的xampp 网站?您必须使用localhost方法才能使 ajax 工作。 -
我使用 localhost/php/main.php。一个 id 为“ansSubmit”的 html 按钮会触发 jQuery 脚本(经过测试并且可以正常工作)以发布到 updateScore.php。如果手动插入标志,updateScore.php 脚本也可以工作。