2016-06-16 9 views
0

私は現在、ユーザーが登録してアイテムを購入できるようにするウェブサイトのフロントエンド開発者です。トランザクションの場合、支払いゲートウェイ会社が提供したAPIを使用していますが、データを渡すときAJAXを介して、特定の機密データがユーザに見えるように公開されます。データベースにパラメータを渡してデータベースにAJAXのポスティングをさせて、ユーザから機密パラメータを隠すことができるようにする方法があるのだろうかと思っていました。また、データベースはコールバックからの応答を格納します。データベース

+2

データベースのポストデータは、単にそれを格納する –

+0

私はそれを行うためにPHPコードを書くことができる方法はありますか?フロントエンド側(AJAX)で行うのではなく、 – Pickles

+0

支払いゲートウェイのURLを公開したくない場合は、 – C2486

答えて

1

あなたが望む場合を除き、ajaxはデータベースに投稿する必要はありませんが、それでもデータベースはリモートapiにデータを投稿するものではありません。それはあなたのバックエンドPHPに任されています。 your_backend.phpで

$.getJSON("your_backend.php", function(result){ 
    //whatever you want to do with the json returned from the remote site. 
} 

:AJAXのためのjQueryを使用して

はあなたのようなものを使用することになり呼び出す

<?php 
$user = "user name"; 
$key = "key" 
$headers = array(
'http'=>(
    'method'=>'GET', 
    'header'=>'Content: type=application/json \r\n'. 
     'user:$user \r\n'. 
     'key:$key' 
    ) 
) 
$context = stream_context_create($headers) 

$url_returns = file_get_contents($api_url, false, $context); 

echo $url_returns 
?> 

私はこれをデバッグしていないので、それはあなたまで動作しませんそれを通過しますが、それはあなたに進める方法についてのアイデアを与えるはずです。リモートapiとの接続の複雑さによっては、file_get_contentsの代わりにphpにcURLライブラリを使用する必要があります。

データベースに情報を保存する場合は、バックエンドPHPから挿入ステートメントを作成します。

+1

これらのパンケーキが大好きです – Wistar

+0

私の最初の論理は;フロントエンドは購入情報をバックエンドに渡します。バックエンド(静的な機密パラメータ、キー、パスなど)、そしてAjaxからAPIへ。 APIはコールバックをバックエンドに返します。フロントエンドに応答(「トランザクション完了」)を渡します。 – Pickles

+0

生のjavascriptまたはjqueryで行われるかどうかは、ブラウザから行われます。ブラウザからどこにでも通信できます。クロムでは、ネットワークを見て、どこからでも送受信されたすべてのヘッダーとコンテンツを見ることができます。私はそれを使用して、ハックし、一日中掻き取る。私は肯定的な印を感謝します。ダミーデータでリクエストをどのようにajaxするかを私に示しても、まったく同じことをするPHPスクリプトを書くことができます。 –