Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 处理JSON repsonse_Php_Jquery_Ajax - Fatal编程技术网

Php 处理JSON repsonse

Php 处理JSON repsonse,php,jquery,ajax,Php,Jquery,Ajax,我正在使用jQuery的JSON特性进行AJAX调用 function get_words_json(address, username, paging_value) { $.ajax({ type: "GET", url: "json/" + address, dataType: "json", data: "username=" + username + "&paging_no_st=" + paging_value, success: function(js

我正在使用jQuery的JSON特性进行AJAX调用

function get_words_json(address, username, paging_value) {
 $.ajax({
  type: "GET",
  url: "json/" + address,
  dataType: "json", 
  data: "username=" + username + "&paging_no_st=" + paging_value,
  success: function(json){
   pop_word_list(json, paging_value);
  }
 });
}
如您所见,我将响应发送到另一个JavaScript函数,但我想做的是将响应发送到PHP。这是否可能,比如说直接将响应转换为PHP数组(不使用JavaScript),然后使用PHP处理数组,等等


提前感谢。

您可以在
success
函数中对php脚本执行另一个Ajax调用,将JSON数据作为POST参数传递。

这样做吗

js (ajax) -> php (array conver to ajax) -> js (ajax) -> php ?



function get_words_json(address, username, paging_value) {
 $.ajax({
  type: "GET",
  url: "json/" + address,
  dataType: "json", 
  data: "username=" + username + "&paging_no_st=" + paging_value,
  success: function(json){
   json["paging_value"] = paging_value;
   $.post("x.php", json);
  }
 });
}

整个想法根本不一致。。。但是:

  • 如果有这样做的理由,那么您需要执行$.post('phpfile.php',json,function(){},'text或任何您想要返回的类型'); 正如上面所建议的,整个json对象都会转到PHP的$_POST[],但我看不出有任何情况应该这样做

  • 如果您从一些无法更改的代码中获得json,并且希望在php中使用数据,请执行以下操作:

    • 使用cURL从另一个对象获取数据
    • 使用json_decode($data,true)获取整个事件的assoc表
  • 如果你不知道自己在做什么:)

    • 只需将对象传递给另一个函数,而不必来回发送无用的内容。您可能希望执行空AJAX调用来触发php文件,仅此而已

  • 不知何故,这没有道理。您是否希望服务器获取JSON格式的值,以便将它们再次发送到服务器(作为数组)以进一步处理它们?为什么不在第一步中完成整个数据处理?为什么首先向客户端发送中间值?只需在服务器上执行所有操作。我这里有一个图表:使用不同的逻辑是最好的吗?这是有风险的,因为在执行第一个ajax调用时,用户可能会访问另一个页面,因此第二个“pass”将永远不会执行,因为客户端无法处理响应。。依赖客户机是不安全的。如果客户机不处理响应,我不关心任务,所以这似乎是一个解决方案。谢谢