2011-01-31 13 views
1

結婚式のウェブサイトの設定に問題があります。誰かが問題が大日前に何かを見つけることができるといいでしょう:)Ajaxリクエストで常に返される302 Object Movedエラー

次のコードは私の開発マシンで動作しますが、一旦私のサーバに公開すると、ポストバックを行い、その後imediatlyがGETリクエストを実行します。 GETリクエストは発生しません。

私はコード

$.ajaxSetup({ 
     beforeSend: function (xmlHttpRequest) { 

//Used by the server to determine an async request 
      xmlHttpRequest.setRequestHeader('X-Requested-With', 'jQuery'); 

      $.blockUI({ message: '<h3>Please wait...</h3>' }); 
     }, 
     complete: function (XMLHttpRequest, textStatus) { 
      $.unblockUI(); 
     } 
    }); 

をいくつかの基本的なセットを持って、ここではアンカータグに結合するコードですしました。私はボタンや入力要素についてもこれを試してみました。

$('.basket-btn').click(function (src) { 

     src.preventDefault(); 

     var form = $(src.target).closest('form'); 

     /* If the form contains validatable elements, then set this to false so the validation function is triggered. */ 
     var doWeValidate = !form.find('span[id$=_validationMessage]').length > 0; 

     if (doWeValidate || !Sys.Mvc.FormContext.getValidationForForm(form[0]).validate('submit').length) { 

      var destination = $(src.target).attr('data-destination'); 

      $.post(form.attr('action'), form.serialize(), function (data) { 

       $("#" + destination).html(data); 
      }); 
     } 
    }); 

ここで私が話している問題を見たい場合は、私のサイトです。

http://www.vinceandjeanswedding.com/GiftRegistry/

あなたが金額を入力し、貢献する]をクリックした場合、それはGETリクエストがストレートの後に続く(放火魔による)そして、ポストバックを実行します。

私を助けてください。

+2

ところでおめでとうです! – Gidon

答えて

1

私はこれを解決しました。

ファイヤーバグでは、最初の依頼はいつも302 Object Movedエラーを返しました。単純にすべての私の要求にスラッシュを置く

は、問題を修正しました。

ので、代わりのwww.site.com/Homeは、それが今www.site.com/Home/

あなたの婚約と
+0

私はまた、IISサーバーが302オブジェクト要求の大文字と小文字が一致しなかった場合に移動しました。これを避けるには、いつでもどこでも小文字を使用し、サービスを設定し、要求を行うときに使用します。 – AnthonyVO

0

は私が初めてそれが(Chromeで)正常に動作しないことがわかります。データが戻ったら、フォーム内のすべてのものをリフレッシュします。ここで何が起こるかは、(新しい)寄稿ボタンがどのイベントにも結びついていないことです。

あなたは

$('.basket-btn').live('click', function (src) { 

に次の

$('.basket-btn').click(function (src) { 

を変更したいので、jQueryのは、それらが第一の結合後に追加されている場合でも、すべての.basket-btnのイベントをキャッチします。

UPDATE

Firefoxではバグがすぐに起こるん。

あなたが起こっているいくつかの奇妙なものを持っています。あなたのajaxはうまくいくようです。しかし、それはajax(ページ内のすべてのスクリプト参照を含む)でページ全体を再度読み込み、しばらくすると大きなループが発生します(スクリプトが徐々にロードされていきます(#contributions * #contributions回)。

+0

お時間をありがとう。私はdiv#shopping-basket-infoの内側のhtmlを置き換えたいだけです。 '.basket-btn'は置き換えられるものではありません。 –

+0

私は細かい事を知りたくありませんが、ちょっとだけメモします。FireFoxはリダイレクト後にカスタムヘッダーを防止しません。リダイレクト後、リクエストはAJAX、X-Requested-Withのようには見えません。 http://stackoverflow.com/questions/1588589/firefox-does-not-preserve-custom-headers-during-ajax-request-redirect-an-asp-net – queen3

関連する問題