PHP的form表單提交後,跳轉到新頁面,新頁面中顯示返回的JSON資料。怎麼把這個返回的JSON資料儲存下來?返回的JSON資料是否可以擷取下來,以便處理。只要其中"retData"值
回複內容:
PHP的form表單提交後,跳轉到新頁面,新頁面中顯示返回的JSON資料。怎麼把這個返回的JSON資料儲存下來?返回的JSON資料是否可以擷取下來,以便處理。只要其中"retData"值
看題主應該是比較新的新手吧。我猜那個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);
代碼摘自這裡
可以啊. 不知道你這裡是要前端存還是後端存?
表單的話要你php去把這部分邏輯給處理掉了.如果按照你描述的話那麼後端應該是給了一個redirect,那你用非同步還是可以正常擷取到結果的. 不知道這麼說能不能懂.
試試curl
curl或者ajax提交
如果是MVC的話,通過View的AJAX提交到Controller,然後通過Curl進行調用相應的介面
http://php.net/manual/zh/book.curl.php
如果用js寫,就用ajax;如果是php寫,就用curl
他們說的都過於複雜了 如果你只需要跳轉頁面取值 那就存seesion好了 api存、新頁面取
你如果FORM過去的話 就會跳轉到別人提供的介面地址了 但是介面不是你的你不能修改 所以一定不能跳轉 用AJAX提交或者curl類比POST提交都可以 這兩種方法都會把介面的傳回值返回到你自己的頁面 方便你接下來處理
他們說的這個跟你說的估計不是同一個事。。。
你說的應該是前端(html)提交資料到一個頁面,然後這個頁面返回一個json,你想用php儲存下來對吧?
那麼可以這樣寫