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

标签 javascript forms jsp rest

我正在使用 REST 来 POST(来自 Firefox 的 Poster)一个 url:

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,一切都按照我想要的方式工作!

最佳答案

听起来您正在向包含 JavaScript 的页面发出请求,并且您担心所请求页面上的 JavaScript 未运行。

这是预期的。当您请求该页面时,响应将以字符串形式返回,就是这样。该页面不会被解析,并且 javascript 不会被评估。当您进行 AJAX 调用时,不要指望您要发布到的页面中会运行 javascript。

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

关于javascript - 我的 REST 调用不运行页面的 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18792257/

相关文章:

javascript - 在对象中取数组的多个值

javascript - 正则表达式将 'cause and ' til 等单词中包含的直引号转换为弯引号

javascript - Express:获取完整路线参数

javascript - 我如何更改此代码以显示带有下拉菜单而不是复选框的隐藏表单?

html - 发布变量在在线服务器上丢失,在本地工作正常

javascript - 核心:forEach in javascript

java - JSTL 字符串比较总是返回 false

javascript - 使用 html 标签循环显示数据

javascript - 验证表单中的电子邮件后的操作

java - 如何在javascript数组中使用jsp变量?