一些JS代码阻止POST方法如何修复它

时间:2016-02-18 07:00:08

标签: javascript php html ajax

我得到了一些js代码,如下所示。它阻止POST方法和用GET替换那个方法我该如何解决?

var form = $('#main-contact1-form');
    form.submit(function(event){
        event.preventDefault();
        var form_status = $('<div class="form_status"></div>');
        $.ajax({
            url: $(this).attr('action'),
            beforeSend: function(){
                form.prepend( form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Mail Gönderiliyor...</p>').fadeIn() );
            }
        }).done(function(data){
            form_status.html('<p class="text-success">Mesajınız başarı ile iletilmiştir. En kısa sürede tarafınıza dönüş yapılacaktır.</p>').delay(3000).fadeOut();
        });
    });

当我在网络中的Developer Tool中查看时,我得到了一些关于jquery.js的内容。 jquery是否阻止POST方法?

Screenshot

ScreenShot2

3 个答案:

答案 0 :(得分:1)

$.ajax来电中使用data:。您还缺少 $.ajax({ url: $(this).attr('action'), type: "POST", data: $(this).serialize(), beforeSend: function(){ form.prepend( form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Mail Gönderiliyor...</p>').fadeIn() ); } }).done(function(data){ form_status.html('<p class="text-success">Mesajınız başarı ile iletilmiştir. En kısa sürede tarafınıza dönüş yapılacaktır.</p>').delay(3000).fadeOut(); }); 选项以提供POST参数。

function init() {
window.addEventListener('scroll', function(e){
    var distanceY = window.pageYOffset || document.documentElement.scrollTop,
        shrinkOn = 300,
        header = document.querySelector("header");
    if (distanceY > shrinkOn) {
        classie.add(header,"smaller");
    } else {
        if (classie.has(header,"smaller")) {
            classie.remove(header,"smaller");
        }
    }
});

答案 1 :(得分:0)

$.ajax({ url: $(this).attr('action'), type:"POST", beforeSend: function(){ form.prepend( form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Mail Gönderiliyor...</p>').fadeIn() ); } }).done(function(data){ form_status.html('<p class="text-success">Mesajınız başarı ile iletilmiştir. En kısa sürede tarafınıza dönüş yapılacaktır.</p>').delay(3000).fadeOut(); }); 功能中添加类型参数,如下所示:

<form id="main-contact1-form" method="/Index.php" action="sendemail.php">

您的表单代码如下:

<form id="main-contact1-form" method="POST" action="sendemail.php">

请将此更改为:

var res = _.groupBy(responce.data, function(item){ return _.find(monthsOfYear, function(month){ return _.startsWith(item.description, month); }); });

表单方法属性的值为POST或GET,而不是文件名 您可以在操作属性中指定文件名。

答案 2 :(得分:0)

使用以下修改后的代码:

var form = $('#main-contact1-form');
    form.submit(function(event){
        event.preventDefault();
        var form_status = $('<div class="form_status"></div>');
        $.ajax({
            url: $(this).attr('action'),
            type: 'POST',
            beforeSend: function(){
                form.prepend( form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Mail Gönderiliyor...</p>').fadeIn() );
            }
        }).done(function(data){
            form_status.html('<p class="text-success">Mesajınız başarı ile iletilmiştir. En kısa sürede tarafınıza dönüş yapılacaktır.</p>').delay(3000).fadeOut();
        });
    });

如果未提及type,则默认为GET ...