我的REST调用不会运行页面的javascript

时间:2013-09-13 17:44:55

标签: javascript forms jsp rest

我正在使用REST来POST(来自Firefox的海报)一个网址:

的http:// [IP] /page.jsp?paramater1=whatever&parameter2=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,一切都按照我想要的方式进行!

2 个答案:

答案 0 :(得分:2)

听起来你正在向包含javascript的页面发出请求,而你担心所请求页面上的javascript没有运行。

这是预期的。当您请求该页面时,响应将作为字符串返回,而就是。页面未解析,并且不评估javascript。当您进行AJAX调用时,不要指望您正在发布的页面中的javascript运行。

(很抱歉,如果我误解了你的问题,可以解释一些基本内容。)

答案 1 :(得分:0)

不确定如何使用HTML表单和REST,但您可能希望确保首先完全加载文档:

尝试(如果使用jQuery)

<script>
    $(document).ready( function() { 
       $("#myform").submit();
    });
</script>