AJAX函数jQuery到PHP访问响应变量
我正在尝试将一个AJAX函数从jQuery发送到PHP。我可以很好地将它转到正确的页面,但是当我到达那里时,如何从AJAX调用访问数据?我可能错过了一些愚蠢的东西 jQuery:AJAX函数jQuery到PHP访问响应变量,php,jquery,ajax,json,Php,Jquery,Ajax,Json,我正在尝试将一个AJAX函数从jQuery发送到PHP。我可以很好地将它转到正确的页面,但是当我到达那里时,如何从AJAX调用访问数据?我可能错过了一些愚蠢的东西 jQuery: $(document).ready(function() { $("#assessform_page").on("submit", "#assessform", function(e) { e.preventDefault(); var assessrows = {};
$(document).ready(function() {
$("#assessform_page").on("submit", "#assessform", function(e) {
e.preventDefault();
var assessrows = {};
var url = $(this).attr("action");
$("div[data-test-num]").attr("data-test-num", function(index, value) {
assessrows[value] = {};
$(this).children("input[data-tab-row], select[data-tab-row]").attr("data-tab-row", function(i, v) {
assessrows[value][v] = $(this).val();
});
$(this).children("label[data-tab-row]").attr("data-tab-row", function(i, v) {
assessrows[value][v] = $(this).text();
});
});
$.ajax({
url: url,
data: assessrows,
type: "POST",
success: function() {
window.location.href = url;
},
});
});
});
HTML:
第一个值:
没有开始
进行中
障碍
排除
多恩
提交
保存
PHP:
(在得到此变量之前,我无法真正执行任何操作。)
我应该调用什么变量来从AJAX获取数据,如果有,我需要调用什么函数才能这样做?编辑:
$.ajax({
url: "url",
data: assessrows,
type: "POST",
success: function(data) {
console.log(data); //do something with data
window.location.href = url;
},
});
如果您的assessment.php
做出如下响应: <?php
echo 'successfully_completed';
?>
你说得对,我不应该去堵塞全局名称空间。我真的不想用它做任何其他事情,但你仍然是对的。另外,当我写它的时候,我把它作为一个变量,但是我在测试东西&当我把它复制到问题中时,它是一个字符串。链接的问题谈到了如何在JavaScript页面上返回数据,但我要问的是如何在PHP页面上返回数据。哦,对不起。你是说你在问如何将数据从javascript发送到PHP?不,我已经在发送了。如果您注意到,URL将转到PHP页面,而不是JavaScript页面。我问的是,一旦我到了那里,我是如何得到数据变量的。在您的代码中,您将数据发布到url,并在成功完成后跳转到同一url。你能详细说明一下吗?为什么需要这个。在成功函数进入PHP页面之前,我应该对它中的数据做些什么吗?这会帮助我从那里访问它吗?我不知道你想这么做,但看起来@naoki已经涵盖了它。对不起,我对AJAX还是很陌生,所以我真的不知道你能做什么&不能做什么。
<?php
echo 'successfully_completed';
?>
$.ajax({
url: url, // assessment.php
data: assessrows,
type: "POST",
success: function(data) {
alert("The response is [" + data + "]");
// "The response is [successfully_completed]"
// If you want to pass this data to the next page
window.location.href = "/foo/success.php?data="+data;
}
});