0

我有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)

4

3 回答 3

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']);
}
于 2012-12-03T02:04:18.890 回答
0

您可以使用以下命令将数组作为 json 从 php 回显:

echo json_encode($arr1);

并在你的 JS 中使用 $.getJSON:

$.getJSON('/controller/doit', function(data) {
  console.log(data);
});
于 2012-12-03T02:04:04.737 回答
0

您可以使用 JSON 对数组进行编码。 http://php.net/manual/en/function.json-encode.php

于 2012-12-03T02:04:08.263 回答