ami*_*mit 75 javascript jquery
我正在尝试使用jquery POST函数,但它正在以AJAX样式处理请求.我的意思是它实际上没有进入我要告诉它的页面.
$("#see_comments").click(function() {
$.post(
"comments.php",
{aid: imgnum},
function (data) {
}
);
});
Run Code Online (Sandbox Code Playgroud)
这个函数应该带有辅助值到comments.php页面.它的发布很好但没有重定向到comments.php.
@Doug Neiner
澄清:
1.我有15个链接(图片).我点击一个链接,它加载我的JavaScript.JS知道我打开了wat imgnum.我想在comments.php中找到这个imgnum.我必须使用这个JavaScript,没有其他方法可以做到这一点.JS是强制性的.2.您的方法成功发布辅助值.但在comments.php中,当我尝试回显该值时,它什么也没显示.我正在使用Firebug.在控制台中,它显示了我在步骤(2)中成功完成的回显REQUEST.
Dou*_*ner 129
我知道你要做什么,但它不是你想要的.
首先,除非您要更改服务器上的数据,否则请勿使用POST请求.只是#see_comments一个正常的<a href='/comments.php?aid=1'>...
如果您必须使用POST,请执行此操作以使页面跟随您的呼叫:
$("#see_comments").click(function() {
$('<form action="comments.php" method="POST">' +
'<input type="hidden" name="aid" value="' + imgnum + '">' +
'</form>').submit();
});
Run Code Online (Sandbox Code Playgroud)
这将如何实际工作.
首先$.post是只有一个AJAX方法,不能用来做一个传统的form提交像你所描述.因此,为了能够发布值并导航到新页面,我们需要模拟form帖子.
所以流程如下:
imgnum#see_commentsform用imgnum的隐藏字段中的IT价值comments.php页面comments.php页面将有权访问已发布的变量(即在PHP中它将是$_POST['aid'])dev*_*ide 47
$("#see_comments").click(function () {
$('<form action="comments.php" method="POST"/>')
.append($('<input type="hidden" name="aid" value="' + imgnum + '">'))
.appendTo($(document.body)) //it has to be added somewhere into the <body>
.submit();
});
Run Code Online (Sandbox Code Playgroud)
小智 10
虽然Doug Neiner的解决方案不仅是正确的,而且也是最全面解释的解决方案,但它有一个大问题:它似乎只适用于Chrome.
我坐立不安试图确定一个解决方法,然后偶然发现了nopnop77的第二个答案.唯一的区别是额外的代码appendTo($(document.body)).然后我在firefox中测试它,它就像一个魅力.显然,Firefox和IE需要将临时表单附加到DOM Body中的某个位置.
我必须为Symfony2项目执行此实现,因为.twig模板中的路径生成器只能使用GET参数并且弄乱查询字符串会破坏应用程序的安全性.(顺便说一句,如果有人知道如何获取.twig模板来调用带有POST参数的页面,请在评论中告诉我).
| 归档时间: |
|
| 查看次数: |
74241 次 |
| 最近记录: |