Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.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 如何将post请求和响应呈现为新页面?_Javascript_Ajax_Post - Fatal编程技术网

Javascript 如何将post请求和响应呈现为新页面?

Javascript 如何将post请求和响应呈现为新页面?,javascript,ajax,post,Javascript,Ajax,Post,我可以发送POST请求,并通过提交表单将响应呈现为整页。如何通过ajax请求实现这一点?即: $.ajax('test.com', { 'method': 'POST', 'success': function(res) { // open a new page, render res as a full page // I can't simply do window.location = "foobar" as it's a POST

我可以发送POST请求,并通过提交表单将响应呈现为整页。如何通过ajax请求实现这一点?即:

$.ajax('test.com', {
    'method': 'POST',
    'success': function(res) {
        // open a new page, render res as a full page
        // I can't simply do window.location = "foobar" as it's a POST
    }
});

或者,如果这很奇怪,那么传统的做法是什么呢?

如果你不关心此时的反应,我会选择形式。 但如果您这样做,您可以检查响应并执行以下操作:

$.ajax('test.com', {
    'method': 'POST',
    'success': function(res) {
        if ( res.code == 200 )
            document.location = 'page1.htm';
        else
            alert('error!');
    }
});

若您只需要在新页面中打开表单处理的结果,那个么不需要ajaxa,只需使用表单的target属性,如

<form action="http://test.com/" method="post" target="_blank">
Your inputs, etc.
</form>

你的投入等等。

为什么选择ajax执行此任务?如果结果页面是HTM,请使用
method=“POST”
而不是使用脚本提交表单使用ajax的整个想法是不呈现完整的新页面。我不能这样做,因为它不是一个位置。这将是一个基于我的帖子数据动态生成的页面响应。你应该查看这个问题的第一个答案。有没有避免使用表单的方法?为什么要避免使用表单?用户仍在此处输入数据。如果你真的不需要它,我可以在运行中创建表单,发送表单,而不向用户显示表单。这就是ajax文件上传在没有文件API的情况下的工作方式。我只是觉得它很复杂,应该有一种更简单的方法。。。但是无论如何,谢谢!