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

在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条)

相关推荐 更多相似问题