POST后的Javascript重定向,提交模拟

时间:2015-06-19 08:55:50

标签: javascript jquery post

我没有页面上的表单,点击按钮我需要去seconpage.asp并发布重新获得的POST数据

$.ajax({
  type: "POST",
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

如果在Post之后加载Post url会很好,如完全提交模拟,但只有在页面上有表单和按钮提交时才会重定向到此页面。 如果重定向成功,则页面加载默认为不发布数据

所以,如果我发送POST

$.ajax({
  type: "seconpage.asp",
  url: url,
  data: "Hello It Works",
  success: function(){
    location.href="seconpage.asp";
  },
  dataType: dataType
});

然后加载seconpage.asp我需要得到“Hello It Works”但我什么都没得到 由于seconpage.asp仅包含

<%=Request.Form%>

所以这不是提交模拟,因为提交带有Post数据的加载页面,而不是重定向加载没有Post数据的新页面

1 个答案:

答案 0 :(得分:0)

$.ajax({
  type: "POST",
  url: url,
  data: data,
  success: function(){
      location.href="target-page.asp";
  },
  dataType: dataType
});

请记住,如果您使用的是类型提交按钮,则必须防止默认行为或仅返回false:

$('#form').on('submit', function(e){
    e.preventDefault(); // you can use this
    $.ajax({ /*...*/ });
    return false; // or this
});

修改

看到你的帖子更新后,我看到了问题。要传递数据,您需要将其传递给变量:

$.ajax({
  type: "POST",
  url: url,
  data: { mydata: "Hello It Works" },
  success: function(){
      location.href="target-page.asp";
  },
  dataType: dataType
});

然后,在您的控制器或服务器端方法中,管理收到的数据。

Check jQuery Ajax Docs了解有关ajax选项以及如何继续的更多信息。