POST请求需要返回HTML页面

1 投票
1 回答
2062 浏览
提问于 2025-04-18 09:44

我正在使用Bottle框架,但这对任何Python框架或网页开发都适用...

我有一个按钮,id是exportLink,当我点击它时,我会用下面的命令向服务器发送一个请求...服务器会处理这个请求,并生成一个HTML页面...

问题:

当我发送GET请求时,HTML页面显示得很好,但当我发送POST请求时,HTML页面没有显示出来,而是返回了HTML内容给我...

需求:

我的POST请求应该显示网页,而不是返回HTML内容...

GET请求

    window.open("./SimpleHTML?portfolio=no&antiCSRF={{acs}}&session_id={{session}}&targetpage=main"&search_string="+search)

POST请求

 $('#exportLink1').click(function(e){
        var search = $('#small_search_string').val();
        $.post("SimpleHTML",
             { search_string: search,
                     antiCSRF: '{{acs}}',
                     session_id: '{{session}}',
                     targetpage: 'main',
                     searchstring: search,
             }
            ).fail(function() { alert("The search failed."); });


   })

POST请求的结果:

<h3 style= 'display:inline'>Price</h3>
<p style='display:inline'>2</p><br />
<h3 style= 'display:inline'>Full Price: </h3>
<p style='display:inline'>10</p>

GET请求的结果:

包含上述内容的HTML页面显示得很好...

1 个回答

0

好吧,你可以把返回的数据直接放到当前页面里,比如放到 #results 这个区域:

$('#exportLink1').click(function(e) {
    var search = $('#small_search_string').val();
    $.post("SimpleHTML", { 
        search_string: search,
        // ...
    })
    .fail(function() { alert("The search failed."); })
    .done(function(data) {
        $('#results').html(data);
    });
});

撰写回答