PHP form提交到某API地址後,接收返回的json的問題

來源:互聯網
上載者:User
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儲存下來對吧?
那麼可以這樣寫

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.