Laravel路线不适用于js

时间:2015-08-21 20:31:15

标签: javascript php jquery laravel

我的代码有问题。不知道到底出了什么问题。

此路由应显示来自输入的令牌数据,但提交按钮只是加载而没有任何反应。因此,使用inspect元素 - 生成令牌。 这是路线:

Route::get('buy', function(){
    return View('pages.add_creditcard');
});

Route::post('buy', function(){
 dd(Input::all());
});

这是View(刀片):

{!! Form::open(['id' => 'billing-form', 'url' => '/buy', 'method' => 'post']) !!}
             卡号:                            CVC:                            截止日期:     {! Form :: selectMonth(null,null,[' data-stripe' =>' exp-month'])!!}     {! Form :: selectRange(null,date(' Y'),date(' Y')+ 10,null,[' data-stripe' =>& #39; exp-year'])!!}     

{!! Form :: submit('立即购买',[' id' =>'提交'])!!}     

{!! Form::close() !!}

这里是js文件:

(function() {

var StripeBilling = {
    init: function() {
        this.form = $('#billing-form');
        this.submitButton = this.form.find('input[type=submit]');
        this.submitButtonValue = this.submitButton.val();

        var stripeKey = $('meta[name="publishable-key"]').attr('content');

        Stripe.setPublishableKey(stripeKey);

        this.bindEvents();
    },

    bindEvents: function() {
        this.form.on('submit', $.proxy(this.sendToken, this));
    },

    sendToken: function(event) {
        this.submitButton.val('One Moment...').prop('disabled', true);

        Stripe.createToken(this.form, $.proxy(this.stripeResponseHandler, this));


        event.preventDefault();
    },

    stripeResponseHandler: function(status, response) {

        if(response.error) {
            this.form.find('.payment-errors').show().text(response.error.message);
            return this.submitButton.prop('disabled', false).val(this.submitButtonValue);
        }


        $('<input>', {
            type: 'hidden',
            name: 'stripeToken',
            value: response.id

        }).appendTo(this.form);

        //this.form[0].submit();


    }

};

StripeBilling.init();

})();

此表单完全正常,但POST方法不起作用。也许js是问题?

1 个答案:

答案 0 :(得分:1)

Stripe.js会创建令牌,但您仍需要为帖子购买创建一个ajax调用。试试这个

public IQueryable<Product> GetProductList()
{

    var result = from p in db.Products
                 join la in db.LanguageAttribute on p.ID equals la.ID
                 where l.LanguageID == "en-US"
                 select new { Proudct = p, Description = la.Description };
    result.ToList().ForEach(i => i.Proudct.Description = i.Description);

    return ???