2017-07-29 22 views
0

フォームを送信し、URLからJSONレスポンスを取得して「payment_url」を取得しようとしています。これは決済ゲートウェイAPIです。私はJSONを初めて使っているので、GoogleとStackOverflowですでに検索していますが、メソッドを理解することはできません。それを理解するのを助けてください。jsonレスポンスを取得して使用する方法

HTML:URLの

<form method="POST" action="URL"> 
    <input type="text" name="abc" /> 
    <input type="text" name="def" /> 
    <input type="submit" value="submit" /> 
</form> 

JSONの応答:

{"result":"The Pay Page is created.","response_code":"code","payment_url":"URL","p_id":ID} 

+0

あなたのjsonをどの言語で解析しますか?あなたはどのようにjsonを送るのですか?あなたのフォームは 'application/json'ですか? –

+0

ウェブサイトはPHP言語です。ですから、PHPでそれを表現できるといいですね。 –

答えて

0

ブラウザは、フォームの送信のためのメディアタイプとしてJSONをサポートしていない事前に感謝します!

あなたはXMLHttpRequest最初でからあなたを提出する必要があります:サーバー側の使用でその後

var formData = new FormData(yourForm); 
$.ajax({ // this is jquery XHR - AJAX 
    type: "POST", 
    url: "serverUrl", 
    data: formData, 
    success: function(){}, 
    dataType: "json", 
    contentType : "application/json" 
}); 

json_decode()

json_decode(file_get_contents('php://input'), true); // the second param defines if the response should be an array or an object. 

注意あなたがPHPでapplication/jsonを送信するときに$_REQUESTを使用してアクセスすることはできません。

+0

エラーが発生しました (index):1 XMLHttpRequestでURLをロードできません。プリフライト要求への応答がアクセス制御チェックを通過しない:要求されたリソースに「アクセス制御許可」がない。したがって、「WEBSITE URL」はアクセスが許可されていません。 –

+0

CORSをやっていますか?そのヘッダーを宛先に設定する必要があります。 corsについての検索! –

+0

これまでのところ、リンクにアクセスしていますが、データの受け渡し方法はわかりません。 function getJSONP(URL、成功){ var ud = '_' + + new Date、 script = document。head = document.getElementsByTagName( 'head')[0] || createElement( 'script') document.documentElement; ウィンドウ[ud] =機能(データ){ head.removeChild(スクリプト); 成功&成功(データ); }; script.src = url.replace( 'callback =?'、 'callback =' + ud); head.appendChild(script); (URL)、機能(データ){ console.log(data); } –

関連する問題