[英]Cannot access $_POST data after successful post
我有以下Ajax请求 :
function send(){
//selected Pictures: some int array
var jsonArray = JSON.stringify(selectedPictures);
var request;
request = $.ajax({
url: "targetPage.php",
type: "POST",
data: {data: jsonArray},
cache: false
});}
我通过提交
href="targetPage.php" onclick="send();"
我想访问HTML文件或PHP脚本中的数组,并将其包含在HTML中。 当我使用浏览器的开发工具检查HTTP流量时,我看到POST实际上可以正常工作,并且发送了正确的数组数据,但是当我想使用以下方法访问数据时 :
if(isset($_POST['data'])){
$data = json_decode(stripslashes($_POST['data']));
}
因为isset返回false,所以没有任何反应。 似乎我缺少某种类型的运行时或执行顺序问题。
问题是您的href,它会使您的浏览器导航到该页面而不发送信息,因此您可以删除它; 因为您是通过ajax调用进行呼叫。
所以:
<a href="#" onclick="send();"></a>
如果要在调用后重定向页面,则应将成功函数添加到ajax调用中:
function send(){
//selected Pictures: some int array
var jsonArray = JSON.stringify(selectedPictures);
var request;
request = $.ajax({
url: "targetPage.php",
type: "POST",
data: {data: jsonArray},
cache: false,
success: function() { location.href = "targetPage.php"; }
});
}
如果您要发布和重定向,可以执行以下操作:
<form method="post" action="http://localhost/DLFin/welcome.php" id="my_form">
<input type="hidden" id="name" name="name">
</form>
脚本:
function send(){
//selected Pictures: some int array
var jsonArray = JSON.stringify(selectedPictures);
var request;
request = $.ajax({
url: "targetPage.php",
type: "POST",
data: {data: jsonArray},
cache: false,
success: function() { $('#name').val('sajal');
$('#my_form').submit(); }
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.