2017-11-06 5 views
0

私は、AJAXを使用して送信する変数を持つスクリプトタグを持つフォームをロードし、このフォームをhtml()を使用してdivに配置したいので、このようにオブジェクトタグを使用します。AJAX経由で送信された変数を示すフォームを読み込む方法は?

$.ajax({ 
    type: "POST", 
    url: "scripts/api.php", 
    data:{ 
    uuid: '03249AAV', 
    amount: '100.00', 
    userID: '111111' 
    }, 
    cache: false, 
    success: function(data, textStatus, jQxhr){ 
     $("#b4").html("<object type='text/html' data='scripts/api.php'></object>"); 
    }, 
    error: function(jqXhr, textStatus, errorThrown){ 
     console.log(errorThrown); 
    } 
}); 

とフォームの受信変数を作成し、私のPHPコード:

<?php 
$uuid = $_POST['uuid']; 
$amount = $_POST['amount']; 
$userID = $_POST['userID']; 

$numrandom = rand(111111,999999); 

$form=" 
    <form action=\"https://www.mywebsite.com/payment.php?sessionToken=$uuid\" method='post'> 
<script src=\"https://static-content.vnforapps.com/v1/js/checkout.js?qa=true\" 
    data-sessiontoken=\"$uuid\" 
    data-merchantid=\"$userID\" 
    data-buttonsize=\"\" 
    data-buttoncolor=\"\" 
    data-merchantlogo =\"icon/logo.png\" 
    data-merchantname=\"\" 
    data-formbuttoncolor=\"#047AB7\" 
    data-purchasenumber=\"$numrandom\" 
    data-amount=\"$amount\" 
/></script> 
</form>"; 
echo $form; 

私はdivの内側にAJAXの結果を得るが、変数は、この結果のような形で空です:

enter image description here

私もAJAX $("#b4").html(data)で使用しようとしましたが、フォームにスクリプトタグが読み込まれず、支払いボタンが充電されずに空に見えるので、0123を使用していますが目を引く。コンソールにエラーは表示されません。

これらの変数を表示するにはどうすればよいですか?

私はいくつかの助けをしたいと思います。

ありがとうございます!

答えて

0

あなたの現在のロジックは、POSTを介してAJAXリクエストを行い、応答を無視して、同じエンドポイントを呼び出すオブジェクトを作成しますが、GETリクエストと同じように、変数は取得されません。答えを

success: function(data) { 
    $("#b4").html(data); 
}, 
+0

おかげで、私は私が言ったように:このような理由からobjectはちょうどあなたがsuccessハンドラに戻るHTMLを使用してDOMに追加し、あなたがやりたい

全く役に立ちませんフォームを表示しますが、ペイボタンを生成するフォーム内でスクリプトタグを実行しません。私はフォームのみを取得しますが、ペイボタンフォームではありません。オブジェクトタグでは動作しますが、変数は空です。それを得るために? – NekoLopez

+0

その場合、AJAX呼び出しの完了後にボタンを初期化するJSロジックを呼び出します。あなたが試みているやり方で 'object'要素を使うのは良い考えではありません。 –

関連する問題