我正在使用REST来POST(来自Firefox的海报)一个网址:
的http:// [IP] /page.jsp?paramater1=whatever¶meter2=whatever (内容类型:application / x-www-form-urlencoded)
page.jsp包含:
<body onload="onload()">
<script>
document.forms["myform"].submit(); // just to be redundant
function onload(){
document.forms["myform"].submit(); // just to be redundant
}
</script>
<form action="SessionTestDriver" method="post" id="myform">
[form stuff]
</form>
但它似乎没有提交该表格。如果我在浏览器上手动加载页面,一切都很完美。只是REST调用什么都不做。
显然我错过了一些东西。建议?
解决! 得到它了!主jsp页面刚刚在提交时调用了一个servlet。我直接在REST url而不是jsp页面中尝试了这个servlet,一切都按照我想要的方式进行!
答案 0 :(得分:2)
听起来你正在向包含javascript的页面发出请求,而你担心所请求页面上的javascript没有运行。
这是预期的。当您请求该页面时,响应将作为字符串返回,而就是。页面未解析,并且不评估javascript。当您进行AJAX调用时,不要指望您正在发布的页面中的javascript运行。
(很抱歉,如果我误解了你的问题,可以解释一些基本内容。)
答案 1 :(得分:0)
不确定如何使用HTML表单和REST,但您可能希望确保首先完全加载文档:
尝试(如果使用jQuery)
<script>
$(document).ready( function() {
$("#myform").submit();
});
</script>