2012-01-05 129 views
0

我有一個網站,我在2007年建立的方式..我做了一些ajax的東西,它工作得很好..今天,該網站的所有者與我聯繫,並表示他注意到形式不再加工。ajax表單提交與mootools

我去看看,控制檯顯示,在提交它得到了一個錯誤: 拒絕設定不安全頭「連接」

我認爲這必須是在瀏覽器安全什麼的變化,因爲沒有代碼發生了變化,上次我查看它的一切正常。所以我做了一些Google搜索,發現其他一些人提到了這一點,他們的解決方案是更新mootools ..我做了,什麼是頭痛,整個API已經改變了。所以我修復了一切,似乎它應該都能正常工作,但事實並非如此。

$('application_form').addEvent('submit', function(e) { 
    new DOMEvent(e).stop(); 

    updateText("Sending..."); 
    var progress_bar = $('bar'); 
    progress_bar.empty().addClass('ajax-loading'); 
    this.send({ 
    update: progress_bar, 
    onSuccess: function(e) { 
     progress_bar.removeClass('ajax-loading'); 
     (function() { mySlide.slideOut() }).delay(1500); 
    } 
    }); 
}); 

這將導致一個Ajax請求將網址[Object對象],而不是在application_form的action屬性指定的實際.PHP腳本...我試圖指定URL選項告訴它不要去到[對象對象],但沒有好...

回答

0

這是一個基於你的工作示例的jsfiddle。
升級你的應該不會太難。

http://jsfiddle.net/K976E/3/

這裏的HTML代碼的情況下的jsfiddle得到了。

<!DOCTYPE HTML> 
<html> 
    <body> 
     <form id='application_form' action='http://www.scoobydoo.com/cgi-bin/scoobysnack'> 
      Count of Scooby Snacks: <input type='text' size='5' /><br /> 
      <input id='submitButton' type='submit' value='Rut Roh Shaggy!'/>    
     </form> 
     <div id='bar' style='margin-top:20px'> 
      Yikes! 
     </div> 

    </body> 
</html> 

而這裏的JavaScript的(在的onLoad的地方):

new Form.Request('application_form', 'bar', { 
    onSend: function(){ 
    updateText("Sending..."); 
    var progress_bar = $('bar'); 
    progress_bar.empty().addClass('ajax-loading'); 
     $('submitButton').set('value', 'Sending the form...').set('disabled', true); 
    }, 
    onComplete: function(){ 
    var progress_bar = $('bar'); 
    progress_bar.removeClass('ajax-loading'); 
    //(function() { mySlide.slideOut() }).delay(1500);   
    } 
}); 


function updateText(txt){ 
    // do something here... 
} 

...不,我沒有重新啓用的onComplete內提交按鈕...

+0

什麼與「酒吧」字符串傳遞到Form.Request? – patrick 2012-01-05 05:03:32

+0

這是任何應該更新的ID。 從這裏:[link](http://mootools.net/docs/more/Forms/Form.Request), 它說: 「new Form.Request(form,update [,options]);」 更新爲:「更新 - (混合)元素或要更新的響應的元素的字符串ID」。 我剛剛扔進你的進度條id,但它做的是通過ajax調用更新元素的快捷方式,元素的內部html由結果替換。我從不使用它。 – 2012-01-05 12:31:59