2
$.ajax({
    method: 'post',
    url: '/send.php',
    data: { 'username': user }
})

它忽略 url 位并将参数从数据发送到当前页面并将我发送到

mywebsite.com/currentpage.php?username=user 

代替

mywebsite.com/send.php?username=user
4

2 回答 2

2

看起来您遇到的可能是一个错误,因为我无法重现它。但是,假设它是 jQuery,正确的选项是type,而不是,如方法文档中method所示:$.ajax()

$.ajax({
    type:'post',
    url: '/send.php',
    data: { 'username': user }
});

编辑1:

..根据评论,您似乎正在尝试在表单上使用ajax ..而不阻止表单的默认操作,除非我弄错了,否则当一个人不提供表单方法时,它默认为get.. 除非指定,否则操作默认为当前页面。

在您执行此操作的任何函数中.. 对于此示例,我将假设submit()您想要return falsee.preventDefault(),在e提交事件中传递给函数的事件对象在哪里。例子:

$("form").submit(function(e) {
    e.preventDefault();
    //do your ajax here.
});
于 2013-04-15T04:06:43.537 回答
1

我最近经历过这种情况。经过调查,我发现ajax请求的原始目标是重定向。Chrome 开发工具显示的是第二个而不是 $.ajax 的原始目标。

于 2015-07-23T07:12:19.733 回答