AJAX jQuery PHP返回值

我是AJAX的新手,我对PHP传回jQuery感到困惑。 所以你有一个像这样的AJAX函数:

$.ajax({ url: '/my/site', data: {action: 'test'}, type: 'post', success: function(output) { alert(output); } }); 

(我从另一个StackOverflow页面获取了这个。)

但是在其他各种资源上,他们的成功部分看起来像这样:

  success: function(data) {functionfoocommandshere} 

我只是想知道这个变量的命名是什么? 如果PHP最终回应一个数组:

  echo $myVar; 

我怎样才能从AJAX中获得这个?

Ajax-Requests获取整个站点。 因此,您不会在变量中获取任何数据,而是在data-parameter中获取整个站点。 您一起制作的所有回声都将在此参数中。 如果要检索数组,则应先将其转换为json。

 echo json_encode($myArray); 

然后你就可以通过这种方式通过Ajax接收它

 $.ajax({ url: '/my/site', data: {action: 'test'}, dataType: 'json', type: 'post', success: function(output) { alert(output); } }); 

在您的PHP文件中,使用json_encode将数组转换为更方便的格式,以便在Javascript中使用。 所以你会有类似的东西:

 echo json_encode($myArray); 

然后,在JavaScript中, success方法的data变量将保存JSON。 使用jQuery的parseJSON将其转换为JavaScript对象,这将非常容易操作。 我不知道你的数组包含什么,但你可能会这样做:

 $.ajax({ url: '/my/site', data: {action: 'test'}, type: 'post', success: function(data) { var obj = jQuery.parseJSON(data); alert(obj.name[0] === "John"); } }); 

同样,这里的data变量将包含PHP输出的任何内容,但JSON是将数据传输回JavaScript的常用且方便的方法。

   

打印/回显的任何输出都将返回到成功函数。 当你想要用你需要实时运行的东西填充html容器时,这很方便。

一旦掌握了这个,另一个选择是使用JSON返回带有值的变量。

可以从success块中检索从PHP AJAX函数返回的数据。 这是手册

  $.ajax({ url: '/my/site', data: {action: 'test'}, type: 'post', dataType: 'json', success: function(output) { //output is the data returned from PHP AJAX function in JSON format alert(output); } });