首页 > PHP form提交到某API地址后,接收返回的json的问题

PHP form提交到某API地址后,接收返回的json的问题

PHP的form表单提交后,跳转到新页面,新页面中显示返回的JSON数据。怎么把这个返回的JSON数据保存下来?返回的JSON数据是否可以获取下来,以便处理。只要其中"retData"值


可以啊. 不知道你这里是要前端存还是后端存?

表单的话要你php去把这部分逻辑给处理掉了.如果按照你描述的话那么后端应该是给了一个redirect,那你用异步还是可以正常获取到结果的. 不知道这么说能不能懂.


如果是MVC的话,通过View的AJAX提交到Controller,然后通过Curl进行调用相应的接口
http://php.net/manual/zh/book.curl.php


他们说的这个跟你说的估计不是同一个事。。。
你说的应该是前端(html)提交数据到一个页面,然后这个页面返回一个json,你想用php保存下来对吧?
那么可以这样写

<?php
if($_GET['action']=='baocun')
{
$f=fopen("baocun.txt","a");
fwrite($f,file_get_contents("php://input")) or die("err");
die("ok");
}
?>
<script src="jquery.js"></script>
<script>
function tj()
{
$.post("你要提交的页面的地址","a="+$("#a")[0].value+"&b="+$("#b")[0].value,function(r){
$.post("?action=baocun",r,function(s){if(s=="ok"){alert("提交成功");}else{alert("提交失败");}

});
});
}
</script>
<form action="">
<input type="text" name="a" id="a">
<input type="text" name="b" id="b">
<input type="button" value="提交" onclick="tj()">
</form>

curl或者ajax提交


你如果FORM过去的话 就会跳转到别人提供的接口地址了 但是接口不是你的你不能修改 所以一定不能跳转 用AJAX提交或者curl模拟POST提交都可以 这两种方法都会把接口的返回值返回到你自己的页面 方便你接下来处理


如果用js写,就用ajax;如果是php写,就用curl


试试curl


他们说的都过于复杂了 如果你只需要跳转页面取值 那就存seesion好了 api存、新页面取


看题主应该是比较新的新手吧。我猜那个API应该不是你自己的吧,按照楼上的盆友的说法,如果你在前端进行提交的话,用ajax把数据post到对应的API就可以获取相应的结果了。或者你可以自己做个PHP代理,把数据提交到自己创建的PHP,然后在PHP里面使用curl真正把数据post到对应的API,在获取相应的结果后,要怎么处理就随你了。
贴点代码给你吧

function httpPost($url,$params)
{
  $postData = '';
   //create name value pairs seperated by &
   foreach($params as $k => $v) 
   { 
      $postData .= $k . '='.$v.'&'; 
   }
   $postData = rtrim($postData, '&');
 
    $ch = curl_init();  
 
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch,CURLOPT_HEADER, false); 
    curl_setopt($ch, CURLOPT_POST, count($postData));
        curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);    
 
    $output=curl_exec($ch);
 
    curl_close($ch);
    return $output;
 
}

这样用

$params = array(
   "name" => "Ravishanker Kusuma",
   "age" => "32",
   "location" => "India"
);
 
echo httpPost("http://hayageek.com/examples/php/curl-examples/post.php",$params);

代码摘自这里

【热门文章】
【热门文章】