douchengjue9892 2015-08-21 10:34
浏览 243
已采纳

在Ajax调用中传递完整的URL作为参数 - Laravel 5.1路由

EDIT: I guess I should have added the Laravel 5.1 piece!

The Ajax call is being handled by a route as follows:

Route::get('ajax/{action}', ['uses' => 'AjaxController@helpers', 'as' => 'ajax.helpers']);

I would expect the encodeURIcompponent() function to make this work, but Laravel 5.1 returns 404 when I call below. If the uri does not contain the encoded http:// it works.

This is what the url in ajax call looks like that returns 404:

http://my.app/ajax/act=url&u=http%3A%2F%2Fgoogle.com

I have an ajax call that needs to check a url I am passing as a parameter

The user will input a url in a form field, which I capture in a variable called website

My ajax call needs to accept:

'/ajax/act=url&u=' + website;

I am doing this to build the url I then pass to a jQuery $.getJSON call:

var url = '/ajax/act=url&&u=' + encodeURIComponent(website);

But I get 404 back from the server. If I remove the protocol (http://) it works just fine.

How do I pass the full url as a parameter in the ajax call? Thanks!

  • 写回答

3条回答 默认 最新

  • dsyrdwdbo47282676 2015-08-21 10:43
    关注
    var url = '/ajax/?act=url&u=' + encodeURIComponent(website);
    

    this should work!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?