2016-04-25 15 views
3

HTMLページから個別の値を取得する方法に関するヘルプが必要です。 iは、HTMLページ内の一部のPAYUの支払いゲートウェイのチームからの応答を得たが、私は取引HTMLページの第三者レスポンスデータから個々の値を取得

以下

をタックから個々の属性値を必要とする応答がPAYUチームから取得しています:

<h1>This is the success url</h1> 
<p>Your transaction is completed successfully. Bank response is 
    mihpayid=403993715514374636&amp;mode=&amp;status=failure&amp;unmappedstatus=userCancelled&amp;key=gtKFFx&amp;txnid=txn1r23fw&amp;amount=100.00&amp;discount=0.00&amp;net_amount_debit=0.00&amp;addedon=2016-04-25+10%3A48%3A29&amp;productinfo=oxygenconcentrator&amp;firstname=test&amp;lastname=&amp;address1=&amp;address2=&amp;city=&amp;state=&amp;country=&amp;zipcode=&amp;email=test%40gmail.com&amp;phone=8152709721&amp;udf1=&amp;udf2=&amp;udf3=&amp;udf4=&amp;udf5=&amp;udf6=&amp;udf7=&amp;udf8=&amp;udf9=&amp;udf10=&amp;hash=6a9d21bd423d61cd5a7d91098aa1140314e45eaddd8d4b9148399caba8ac61a9476aec130eb369f7d526e741b1b6c47b1ca71bec21fa69aa3deaa13740dbffbc&amp;field1=&amp;field2=&amp;field3=&amp;field4=&amp;field5=&amp;field6=&amp;field7=&amp;field8=&amp;field9=Cancelled+by+user&amp;payment_source=payu&amp;PG_TYPE=&amp;bank_ref_num=&amp;bankcode=&amp;error=&amp;error_Message= 
</p> 

<script> 
PayU.onSuccess("mihpayid=403993715514374636&amp;mode=&amp;status=failure&amp;unmappedstatus=userCancelled&amp;key=gtKFFx&amp;txnid=txn1r23fw&amp;amount=100.00&amp;discount=0.00&amp;net_amount_debit=0.00&amp;addedon=2016-04-25+10%3A48%3A29&amp;productinfo=oxygenconcentrator&amp;firstname=test&amp;lastname=&amp;address1=&amp;address2=&amp;city=&amp;state=&amp;country=&amp;zipcode=&amp;email=test%40gmail.com&amp;phone=8152709721&amp;udf1=&amp;udf2=&amp;udf3=&amp;udf4=&amp;udf5=&amp;udf6=&amp;udf7=&amp;udf8=&amp;udf9=&amp;udf10=&amp;hash=6a9d21bd423d61cd5a7d91098aa1140314e45eaddd8d4b9148399caba8ac61a9476aec130eb369f7d526e741b1b6c47b1ca71bec21fa69aa3deaa13740dbffbc&amp;field1=&amp;field2=&amp;field3=&amp;field4=&amp;field5=&amp;field6=&amp;field7=&amp;field8=&amp;field9=Cancelled+by+user&amp;payment_source=payu&amp;PG_TYPE=&amp;bank_ref_num=&amp;bankcode=&amp;error=&amp;error_Message="); 
</script> 

私はこの応答を得ました以下から私はmihpayのような個々の属性値を必要とする

iabRef.executeScript(
    { code: "document.body.innerHTML" }, 
    function(values) { 
     alert(values[0]); 
     console.log(values[0]); 
    } 
); 

スニペットIDモードステータスなど......

+0

あなたのコンソール結果は何であるobj.statusを呼び出すことにより、オブジェクトので

var obj = {} ; //loop here then do this within the loop var kv=theArray[i].split('='); obj[kv[0]] = kv[1]; 

あなたの属性を取得することができますを作成できますか? –

+0

@WasiqMuhammad私はあなたの質問でconsole.logの返答を述べました。 – Sai

答えて

1

は、値または値は[0]が有するであろうと仮定すると:

"unmappedstat mihpayid = 403993715514374636 &モード= &ステータス=故障&"

その後、あなたは以下のように関数を書くことができます:

function extractScript(source){ 
    var pattern = /<script>(\w+)<\/script>/ 
    var matches = source.match(pattern); 

    return matches[1]; 
    } 

function getValue(source, key){ 
     var pattern = key+'=(\\w+)(&amp;)?'; 
     var expr = new RegExp(pattern); 

     var result = source.match(expr); 

     return result[1]; 
} 

を次にexecuteScriptに:

をあなただけ pはあなたが

var text= document.getElementByTagName('p').innerHtml; 

を呼び出して値を取得することができ、ページ内のみpタグであると仮定すると、二回

を分割を行い、その後pタグの内容を取得することができます

iabRef.executeScript(
{ code: "document.body.innerHTML" }, 
    function(values) { 
    //incase values[0] contains result string 
    console.log(getValue(values[0], 'mihpayid')) 
    //or 
    //incase values[0] contains result string 
    console.log(getValue(values, 'mihpayid')) 
} 
); 
+0

返信ありがとう、Uncaught TypeErrorのようなエラーが発生しました:オブジェクト[オブジェクト配列]にメソッド 'match'がありません – Sai

+0

@Saiできますconsole.log(getValues(values [0]、 'mihpayid'))のみを試してください。 –

+0

値[0]の値が何であるのかを知ることができ、値の値は何であるのでしょうか? –

0

最初に分割する&amp;

var theArray= text.split('&amp;');//or just & depending on how your text comes out 

これが返されます[status=failure,phone=8152709721] のようなものが含まれています配列は、その後、この配列をループとは

+0

あなたは少し混乱していると簡単な説明をしてください..... – Sai