Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 发送请求前修改链接(使用Jquery)_Javascript_Jquery - Fatal编程技术网

Javascript 发送请求前修改链接(使用Jquery)

Javascript 发送请求前修改链接(使用Jquery),javascript,jquery,Javascript,Jquery,我的问题是,我在页面上有一些链接,目前这些链接是在html文件中由ruby生成的。 所以,当用户加载页面时,会根据一些数据库数据创建链接。但是,还有一个选项,它不是DB生成的,应该可以实时工作 例如,如果按钮“A”当前已提交,则链接应请求: http://url/?(ruby生成的参数)&button=A 然后用户单击按钮“B”,并链接请求: http://url/?(ruby生成的参数)&button=B 总之,基本上,Jquery应该向link添加一个额外的参数,然后向服务器发送请求 这可能

我的问题是,我在页面上有一些链接,目前这些链接是在html文件中由ruby生成的。 所以,当用户加载页面时,会根据一些数据库数据创建链接。但是,还有一个选项,它不是DB生成的,应该可以实时工作

例如,如果按钮“A”当前已提交,则链接应请求:

http://url/?(ruby生成的参数)&button=A

然后用户单击按钮“B”,并链接请求:

http://url/?(ruby生成的参数)&button=B

总之,基本上,Jquery应该向link添加一个额外的参数,然后向服务器发送请求

这可能吗?我该怎么做

另外,我非常不喜欢在提交选项按钮时重新加载页面上的所有链接,它与特定的应用程序功能有关,页面上有很多这样的链接

代码:

array[i]=“”+(链接到(array[i],{:controller=>'tests',:action=>'add\u key',:keyword=>array[i],:position=>i},:class=>'unsaved\u links',:id=>i,:method=>:post,:remote=>true))
HTML输出:

<a href="/tests/46/add_key?keyword=TEST&amp;position=0" class="unsaved_links" data-method="post" data-remote="true" id="0" rel="nofollow">TEST</a>

最终请求:

<a href="/tests/46/add_key?keyword=TEST&amp;position=0&amp;button=A" class="unsaved_links" data-method="post" data-remote="true" id="0" rel="nofollow">TEST</a>

尝试以下操作

HTML

<a id="buttonA" href="http://yahoo.com" target="_blank">Yahoo</a>
<a id="buttonB" href="http://google.com" target="_blank">Google</a>
<a id="buttonC" href="http://twitter.com" target="_blank">twitter</a>
试试下面的

HTML

<a id="buttonA" href="http://yahoo.com" target="_blank">Yahoo</a>
<a id="buttonB" href="http://google.com" target="_blank">Google</a>
<a id="buttonC" href="http://twitter.com" target="_blank">twitter</a>

我认为您需要的是一个简单的替换,或者更确切地说是一个字符串附加:

$("a").click(function() {
    this.href += "&button=" + this.id;
});

我认为您需要的是一个简单的替换,或者更确切地说是一个字符串附加:

$("a").click(function() {
    this.href += "&button=" + this.id;
});


您的链接看起来怎么样?请提供相关代码。@amrinder007,这是ruby代码,在这里是否相关?我是指javascript代码。您是如何调用…提交还是ajax?@JoeHalfFace
A
/
B
从何而来?您的链接看起来如何?请提供相关代码。@amrinder007,这是ruby代码,在这里是否相关?我指的是javascript代码。你怎么打电话…提交还是ajax?@JoeHalfFace
A
/
B
从哪里来?所以我问这个问题的重点是,这种方法是发送请求还是修改链接后,或者它修改链接,然后发送请求?@JoeHalfFace它修改链接,然后将请求发送到服务器。@JoeHalfFace也谢谢!:)我希望你能阅读我的评论:?那么我问这个问题的要点是,这种方法是在修改链接后发送请求,还是修改链接然后发送请求?@JoeHalfFace it修改链接,然后将请求发送到服务器。@JoeHalfFace也谢谢!)我希望您阅读我的评论:?@JoeHalfFace我不推荐此解决方案,因为您页面上的所有链接都已修改,即使是未使用的链接,如果您有很多链接,也会带来糟糕的性能…@yckart您是对的,OP可以根据他们的要求更改选择器。@JoeHalfFace我不推荐此解决方案,由于您页面上的所有链接都已修改,即使这些未使用的链接,如果您有很多链接,也可能会带来糟糕的性能…@yckart您是对的,OP可以根据需要更改选择器。