我有PHP功能:
public function doit()
{
$arr1= array();
$arr1['index1'] = 'value1';
$arr1['index2'] = 'value2';
}
我从我的JQuery函数中调用它:
$.ajax
({
url: "/controller/doit",
success: function()
{
alert('done!');
}
});
我想要的一切 - 我的JQuery函数,包含这个ajax调用将返回我的数组,这与PHP函数返回的数组相同(当然唯一的区别是语言:JS而不是PHP)< / p>
答案 0 :(得分:2)
您需要从doit函数返回一些内容。
public function doit()
{
$arr1= array();
$arr1['index1'] = 'value1';
$arr1['index2'] = 'value2';
echo json_encode($arr1);
}
$.ajax
({
url: "/controller/doit",
success: function(data)
{
console.log(data);
}
});
编辑:
Jquery to PHP:当javascript运行时,它会使用url将数据数组发送到服务器。服务器接收数组,将其编码为json并将其发送回成功回调函数,该函数将数据记录到控制台。
// YOUR JAVASCRIPT FILE
// your data to send.
var data = {'index1': 'value1', 'index2': 'value2'};
$.ajax({
type: 'POST',
url: '/controller/doit',
data: data,
success: function(data) { console.log(data) },
dataType: 'json'
});
//YOUR PHP FILE
public function doit()
{
// you should be setting your content type header to application/json if sending json
header('Content-type: application/json');
echo json_encode($_POST['data']);
}
答案 1 :(得分:0)
您可以使用以下命令将数组作为json从php回显:
echo json_encode($arr1);
在JS中使用$ .getJSON:
$.getJSON('/controller/doit', function(data) {
console.log(data);
});
答案 2 :(得分:0)
您可以使用JSON对数组进行编码。 http://php.net/manual/en/function.json-encode.php