【问题标题】:Get parameter in ajax function在ajax函数中获取参数
【发布时间】:2016-02-12 18:54:26
【问题描述】:

可能是一个简单的问题,但是我已经搜索了很长时间,但找不到答案。

如果我有这条路线(Laravel):

    Route::post('clients/{id}/episode/{episodeid}/plans/{planid}/responsibilities',     
    array('as' =>'postajax', 'uses' => 'PlanController@postajax'))

问题是: 如何从查询ajax函数中的url(id、episode、planid)中检索参数?

    $(document).ready(function() {
    $('form').on('submit', function(e){
    e.preventDefault();

    I want to retrieve the parameters here, but how?
    Do I actually need to send them as hidden input?


    }
    });
    });

【问题讨论】:

  • 你问的是如何在 JavaScript 中获取当前页面的 URL? (因为无论您在页面的哪个位置,这都是一样的,所以在提交事件处理程序中执行此操作是无关紧要的)。
  • 询问如何尽可能容易地获取具体参数。示例:'clients/1/episode/34/plans/67/responses' 然后我会在 client_id = 1 episode_id = 34 plan_id = 67
  • 我想知道“那个”表单是否是发布到该网址的表单。好的,需要考虑的一件事是,POST 参数不会在 URL 的查询字符串中传递。 POST 参数在请求正文中发送。
  • 那么,如果表单属于Laravel路由中提到的url,那么是的,你必须为表单“创建”一些隐藏字段,你可以在Js/JQuery中获取值通过查询隐藏的输入值。
  • “询问如何获取具体参数”……从哪里来?当前页面的网址?表单的动作属性?其他地方?

标签: javascript php jquery ajax laravel


【解决方案1】:

我知道几个月过去了,但是

$.urlParam = function(name){
var results = new RegExp('[/]' + name + '/([a-z0-9]+)').exec(window.location.href);
if (results===null){
   return null;
}
else{
   return results[1] || 0;
}
};

然后调用它:

$.urlParam('param')

例子:

clients/1/episode/34/plans/67

$.urlParam('clients') // echoes 1

$.urlParam('episodes') // echoes 34

$.urlParam('plans') // echoes 67

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-26
    • 2014-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多