我通过ajax.i发送一个数组从一个页面到另一个页面用于此目的的JSON对象。我能够发送但我无法在ajax页面中捕获。请帮我如何捕获数组值。 的javascript:
var jsonString = JSON.stringify(dataString);
$.ajax({
type: "POST",
url: "ajaxpage.php",
data: {data : jsonString},
cache: false,
success: function(response){
alert("ok");
$('#test').html(response);
}
});
PHP页面:
$data = json_decode(stripslashes($_POST['data']));
// here i would like use foreach:
foreach($data as $d){
echo $d;
}
请在这方面帮助我。 我被困在这里
答案 0 :(得分:1)
如果要将JSON解码为关联数组,则应在json_decode
中指定:
替换
$data = json_decode(stripslashes($_POST['data']));
使用
$data = json_decode(stripslashes($_POST['data']), true);
有关详细信息,请参阅json_decode
reference
此外,dataString
可能已经是JSON字符串吗?
答案 1 :(得分:0)
我认为这就是你想要的,我已经尝试过并且它有效 在你的PHP:
<?php
$data = ($_POST['data']);
foreach($data as $d){
echo stripslashes($d);
}
?>
在你的jsvascript / jquery中:
<script>
$(document).ready(function(){
$('a').on('click',function(){
var dataString = {
'id':'1',
'name':'peter parker',
'age':'unknown',
'role':'spiderman'
}
$.ajax({
url: "<?php echo $this->webroot;?>test_1.php",
data: {'data':dataString},
type: "POST",
cache: false,
success: function(response){
alert("ok");
$('#test').html(response);
}
});
})
})
</script>
你的HTML中的
<a href="javascript:void(0);">Click Me</a>
<div id="test"></div>