2011-06-30 14 views
0

私が直面している状況をできる限り正確に説明しようとします。私はStruts 2ベースのWebアプリケーションを開発しています。ページの1つでは、Jquery 1.4.4を使用してStruts2 ActionクラスにAjaxコール(POST)を行い、繰り返し実行するXMLを取得し、選択ボックスを作成してレンダリングしますUI上でStruts2 Action、Jquery AJAXコールは正常に動作し、Local Dev EnvではUIを正しくレンダリングしますが、プロダクションサーバでは表示されません。

このコードは、ローカルWAS 6.1開発環境で正常に動作します。しかし、プロダクション・サーバー(WAS版と同じ)ではあまりありません。 選択ボックスはローカルenvでは正しく作成されていますが、本番環境では作成されていません。

Ajaxのコードは以下の通りです:

$.ajax({  url: 'DisplaySplitCriteriaValuesAction', 
     type:'POST', 
     dataType: "xml", 
     data:{ splitCriteriaType: $.trim($(this).text()) }, 
     success: function(xmlResponse) { 
     buildSelectBoxNoDropDown(xmlResponse, "serviceActivitiesValue", "#ServiceActivitiesValueSelectionDIV"); 
     $('#serviceActivitiesValue').bind({ 
     change: function(){         
       if($(this).val() != '-1'){ 
        makeDefault(this,'defValueForSA'); 
       } 
      } 
      }); 
     } }); 

function buildSelectBoxNoDropDown(xmlData, selectBoxName, whereToDisplayedDiv){ 
       var selectBoxhtml = '<select name="'+selectBoxName+'" id="'+selectBoxName+'"size="12" class="select_optionsBOX">';    
       $(xmlData).find('name').each(function(){     
        selectBoxhtml = selectBoxhtml+'<option value="'+$(this).text()+'">'+$(this).text()+'</option>'; 
         }); 
       selectBoxhtml = selectBoxhtml+'</select>'; 
       $(whereToDisplayedDiv).empty(); 
       $(whereToDisplayedDiv).append(selectBoxhtml); 
      } 

サンプルXML構造Iは、Actionクラスから

<SplitCriteriaValues><name>Sample SC Value 1</name><name>Sample SC Value 2</name><name>Sample SC Value 3</name></SplitCriteriaValues> 

を返却しています驚くべき部分は、Firebugのを使用してデバッグするとき、私はXMLの応答を参照してくださいです。しかし、両方の環境で応答を比較すると、どちらも一致しますが、「応答」タブの横に「XML」という余分なタブがあります。違いがあれば分かりません。

ある環境から別の環境に移動するときに考慮すべきことはありますか?この種の奇妙な振る舞いを解決するためのあらゆる指針が役立ちます。

ありがとうございました

+1

「あまり意味がありません」とはどういう意味ですか?それはまったく動作しませんか?あなたはどんなエラーを出していますか? – sirhc

+0

送信しているコンテンツタイプヘッダーを確認しましたか? – sirhc

+0

@sirhcちょうどur今返信を見ました。それは問題を引き起こした応答のコンテンツタイプヘッダーでした。私はあまりにも答えを掲載しました。問題を見ていただき感謝します。 – Sandeep

答えて

0

私は最後にこれを理解することができました。 Firebugが応答を示していたにもかかわらず、欠落しているXMLタブは、プロダクションサーバが受信したコンテンツタイプを知らなかった(または、XMLではなく単純なテキストであると仮定した)ことを意味していました。デフォルトはtext/plainでした。

私がしなければならなかったのは、Actionクラスのコンテンツタイプを "text/xml"に設定していたので、私の問題は解決しました。私のローカルサーバーがコンテンツの種類を問題とはみなさず、制作者が行ったことをどうやって解決したのか。

ありがとうございました。 Sandeep

関連する問題