Html 如何从Servlet向特定Url(服务器)发送json数据响应?

Html 如何从Servlet向特定Url(服务器)发送json数据响应?,html,json,servlets,Html,Json,Servlets,我有以下代码,它使用json格式的数据作为html表单中的输入变量 out.write("<html><body onload=\"document.forms[0].submit()\">\n"); out.write("<form enctype='application/json' method=\"POST\" action=\"" + resourcePath + "\">\n"); out.write("<input

我有以下代码,它使用json格式的数据作为html表单中的输入变量

out.write("<html><body onload=\"document.forms[0].submit()\">\n");
      out.write("<form  enctype='application/json' method=\"POST\" action=\"" + resourcePath + "\">\n");
      out.write("<input name='sessionId' value=\"" + sessionId + "\"/>\n");
      out.write("<input name='sessionValid' value=\"" + true + "\"/>\n");
      out.write("</form>\n</body>\n</html>\n");
out.write(“\n”);
输出。写入(“\n”);
输出。写入(“\n”);
输出。写入(“\n”);
out.write(“\n\n\n”);
我已经在谷歌上搜索过了,我得到了上面的格式,但它不起作用,在提交表单后阅读时,它仍然是一个普通的字符串。我在stack overflow中也看到过同样类型的问题,但它们指导我使用我不想使用的jquery


上面的代码可能有什么错误

根据当前给出的示例很难判断,似乎存在更多语法错误,或者浏览器或提交到服务器端可能存在一些问题

这里是一个基本的例子,可以测试,如果你有PHP。。。只需创建一个test.php文件或其他文件,并使用以下代码。如果这是可行的,那么它将是所使用的变量或它们被创建/回显的方式

<?php
    if (isset($_REQUEST['sessionId'])) {
        echo "<pre>".print_r($_REQUEST, true)."</pre>";
        exit;
    }
?>
<form enctype='application/json' method="POST">
    <input name='sessionId' value="has7ft8f7w56ef78wte"/>
    <input name='sessionValid' value="true"/>
    <button type='submit'>Submit</button>
</form>

提交
如果你能提供更多的信息,我将尽我所能帮助你解决这个问题。。有时事情不顺利。。最好回到基本的测试,然后看看它在哪里中断

编辑


提交
通过使用像这样简单的东西进行测试,您可以确保基本概念有效。。如果有效,则首先更改操作“”。。如果有效,则更改sessionId/Valid。。该按钮仅用于排除onload事件。。这是调试的一部分,将在将来为您节省大量时间


将“myurl”或“where\u ever”替换为预期值“resourcePath”

首先,尝试生成一个JSFIDLE,以便我们可以看到您的工作示例。。第二,你有能力使用ajax吗?这将允许您序列化表单,还可以发送json对象。。以后的扩展有很多更简单更好的方法。我还注意到您不想使用jquery。。。但在这种情况下,这不是必需的。。您有可用的PHP/服务器端语言吗?或者只是原始HTML页面?现在我不能在代码中使用ajax。我不知道如何为代码生成JSFIDLE您是否检查了浏览器控制台中的脚本/请求错误?在大多数现代浏览器中通常为F12。。如果没有,请参阅already@Mayhem,请检查已编辑的问题标题,这是我的实际需求“resourcePath”是一个有效变量。。。用我下面的例子。。如果手动将resourcePath的值输入action=“”。。。它是否如预期的那样工作?我没有php,请看我编辑的问题,我不想把我的任何提交按钮。基本上这只是一个简单的手动测试。。。将在一秒钟内更新答案。。但请尝试创建表单的静态版本。。所以没有变量,就没有输出。写。。只是一个普通的HTML文件,它使用submit按钮将表单提交到预定义的操作/url。。这排除了语法和动态方面的问题。我尝试过,表单按预期工作,但我没有得到JSON形式的响应,它是以普通键:值对的形式出现的,因此表单/url本身没有问题。。您在servlet方面使用的代码是什么。。我的猜测是,处理HTTP请求的方法是将JSON转换为另一种格式。。我通常避开Java的任何东西。。但是post/update(如果可以的话)您的用于post的servlet处理程序。我的enctype='application/json'是否工作不正常?
<form enctype='application/json' method="POST" action="myurl_or_where_ever">
    <input name='sessionId' value="has7ft8f7w56ef78wte"/>
    <input name='sessionValid' value="true"/>
    <button type='submit'>Submit</button>
</form>