Laravel and ajaxForm


Laravel and ajaxForm

所以我是AJAX的新手,我正在尝试这个代码

        <form role="form" id="ff" method="POST">
          <div class="form-group">
            <div class="short"><input type="text" class="form-control" id="exampleInputURL" placeholder="Paste a long URL..."></div>
          </div>
          <button type="submit" class="btn btn-primary btn-lg btn-block">Shorten</button>
        </form>

<script> 
    $(document).ready(function() { 
        $('#ff').ajaxForm({url: 'short', type: 'post'}, function() { 
            alert("Thank you for your comment!"); 
        }); 
    }); 
</script> 

但它似乎不起作用,我收到了这个错误MethodNotAllowedHttpException

在我的routes.php上,我有

Route::post('short', 'HomeController@ShortUrl');

它可能没有被张贴到正确的路线。试着给它命名,让拉拉维尔为你找出路线。

Route::post('short', array('uses' => 'HomeController@ShortUrl', as => 'ajax.Short'));

$('#ff').ajaxForm({url: '{{ URL::route("ajax.Short") }}', type: 'post'}, function() { 
    alert("Thank you for your comment!"); 
}); 

如果不使用刀片,请将{{ URL::route("ajax.Short") }}更改为<?php route('ajax.Short'); ?>

试试这个:

<script> 
        $(document).ready(function() { 
            $('#ff').$.post('short', {example_input_url: $('#exampleInputURL').val() }, function() { 
                alert("Thank you for your comment!"); 
            }); 
        }); 
    </script> 

我使用了Jquery本机函数而不是插件。

您可以URL::到

$('#ff').ajaxForm({url: "{{ URL::to('creation/store-company-info') }}", type: "POST"}, function() { 
alert("Thank you for your comment!"); 

});

如果您使用刀片式引擎,则可以使用{{}}符号。如果您不使用刀片式发动机,则使用。