私は、APIにフォームをポストし、iframeでXML応答を受け取った後、同僚がXMLで子を解析するというバグを解決しています。ページはIE9、クロム、およびFirefoxでの作業ではなく、IE 8Javascript getElementsByTagNameがIE8で正しく引き抜かれない
フォームれる:
<form action="../../includes/functions/ADapi.php" method="POST" target="response" id="addForm" >
<fields galore></fields galore>
</form
<iframe name="response" id="response" style="display:none;" ></iframe>
応答:
<?xml version="1.0" encoding="utf-8" ?>
- <xmlresponse>
<DateTime>2012-04-26 15:36:47</DateTime>
<confirmationcode>success</confirmationcode>
</xmlresponse>
のjavascript:
function getResponse()
{
var myIFrame = document.getElementById("response");
var content = myIFrame.contentWindow.document.getElementsByTagName('confirmationcode');
var insertID = myIFrame.contentWindow.document.getElementsByTagName('id');
//var sql = myIFrame.contentWindow.document.getElementsByTagName('SQL');
var response = $(content).text();
var responseID = $(insertID).text();
//alert($(sql).text());
if(response == "Success" || response == 'success')
{
if(mode == 'edit')
{
post_to_url("/edit-contact", {type: 'edit', cust: id, mod: 'update',field : '<?php if(isset($_POST['field'])){ echo $_POST['field']; }?>',operator : '<?php if(isset($_POST['operator'])){ echo $_POST['operator']; }?>',criteria : '<?php if(isset($_POST['criteria'])){ echo $_POST['criteria']; }?>'});
}
else
{
post_to_url("/edit-contact", {type: 'edit', cust: responseID, mod: 'insert',field : '<?php if(isset($_POST['field'])){ echo $_POST['field']; }?>',operator : '<?php if(isset($_POST['operator'])){ echo $_POST['operator']; }?>',criteria : '<?php if(isset($_POST['criteria'])){ echo $_POST['criteria']; }?>'});
}
}
else
{
alert("Error!");
}
}
実行するたびに、「Error!」というアラートがポップアップ表示されます。
ご協力いただければ幸いです。
'response'には他の可能性がありますか? console.log(レスポンス); 'を' else'にドロップしましたか?ちなみに、 'alert()'でデバッグしていますか?しないでください。それは信じられないほど邪魔になり、あなたは仕事をして流れに従うのではなく、物事を却下する時間をばかにします。 IE9はかなり最新ですが、IE 7は何をしていますか? 9つの作品、7つの作品がない場合、それはあなたが依存しているものがIE9の前のリリースで追加されたことを示唆しています。 –
これはあなたの質問に答えませんが、なぜその応答をiframeに入れますか? XmlHttpRequestを使用してAjaxリクエストを使用し、レスポンスを解析するのはなぜですか? – Cheeso
私はそれを構築しませんでした。私はちょうどそれを修正しようとしています。それはあまり優先度の低いバグですが、AJAXを明日までに朝10時に再構築する時間がありません。 –