2012-04-25 6 views
0

に結果をGET渡すと、ここでは、AJAXは場所

<script type="text/javascript"><!-- 
$('#button-confirm').bind('click', function() { 
    $.ajax({ 
     type: 'GET', 
     url: 'index.php?route=payment/bitcoinpayflow/confirm', 
     success: function(url) { 
      location = '<?php echo $continue;?>'; 
     }  
    }); 
}); 
//--></script> 

私の問題のURLがこれを返します。

https://bitcoinpayflow.com/ordersArray // note the lack of space between orders and array. Is this a problem? If it is, I can get it to display in JSON notation with some fiddling. 
(
    [order] => Array 
     (
     [bitcoin_address] => 1DJ9qiga2fe94FZPQZja75ywkdgNbTvGsW 
    ) 

) 

、私は何をしたい$ '<?php echo $continue;?>'を続けるにエントリーbitcoin_addressを追加しています。これは、/index.php?route=checkout/successの略です。したがって、/index.php?route=checkout/success&btc=1DJ9qiga2fe94FZPQZja75ywkdgNbTvGsWと表示されます。それはシンプルにすべきだと思われるが、私はそれをする方法を見ることができない。

次のページには、URLからビットコインアドレスを解析してページに表示するjavascript関数があります。これはすべて正常に動作し、私はちょうど実際に表示するビットコインアドレスを取得することはできません!

+0

以内にそれをアクセスして、あなたはより良いこの質問をフォーマットする方法上の任意のヒントを持っている場合、私に知らせてください。私はstackoverflowのエチケットに慣れていません。 – Joseph

答えて

1

JSONを返すようにします。あなたは痛みの量を多く減らすでしょう。どうやらそれはPHPだから、PHPのjson_encode()を使い、JSONレスポンスを使用して、あなたの「成功」機能のurlを連結してください。

location = "<?php echo $location; ?>&btc=" + data.bitcoin; 

...などです。あなたが何を得ているかわからない場合は、console.log(data)を試してみてください。

+0

これでjsonを返すようになりました。 {{ "bitcoin_address": "1F2vgWSRcfRzZz1LetFxrk6qfWhpTeW32s"} "注文"} +のdata.bitcoin特に 。これは「順序で始まり、ビットコインに行く配列にエントリを追加する」ということです。 私にとってはorder.bitcoin_addressでしょうか? あなたの助けてくれてありがとう、stackoverflowへようこそ(必死の人文学の完全な:)) – Joseph

1

はグローバルスコープで変数を設定し、機能

<script type="text/javascript"><!-- 
var btcaddress = null; 

$('#button-confirm').bind('click', function() { 
    if(isValidBtcAddress(btcaddress)){ 
     Url = 'index.php?route=payment/bitcoinpayflow/confirm' + btcaddress; 
    }else{ 
     Url = 'index.php?route=payment/bitcoinpayflow/confirm'; 
    } 

    $.ajax({ 
     type: 'GET', 
     'url': Url, 
     success: function(url) { 
      location = '<?php echo $continue;?>'; 
     }  
    }); 
}); 



function someotherFunction(response){ 
    btcaddress = response['order']['bitcoin_address']; 
}