2012-01-05 92 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