2015-03-31 114 views
2

我有下面的代碼是與json格式數據作爲輸入變量在html窗體中。如何將json數據響應從Servlet發送到特定的Url(服務器)?

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"); 

我用Google搜索這件事,我得到了上面的格式,但它不工作,但仍然是正在作爲一個普通的字符串,而形式提交後閱讀。我在堆棧溢出中也看到了相同類型的問題,但他們正在引導我使用我不想使用的jquery。

上面的代碼可能是什麼錯誤?

+1

第一關的期望值,儘量產生的jsfiddle所以我們可以看到你的工作示例。其次,你有沒有使用Ajax的能力嗎?這將允許你序列化表單併發送一個json對象。以後可以更容易和更好地進行擴展。我也注意到你不想使用jQuery ...但這不是必需的在這種情況下..你有PHP /服務器端語言可用?或只是原始的HTML頁面? – Mayhem 2015-04-06 07:06:26

+0

現在我不能在我的代碼中使用ajax。我不想爲代碼生成jsFiddle – 2015-04-06 07:08:44

+0

您是否檢查了瀏覽器控制檯的任何腳本/請求錯誤?通常在大多數現代瀏覽器中的F12 ..也可參考http://darobin.github.io/formic/specs/json/如果您還沒有 – Mayhem 2015-04-06 07:15:21

回答

0

用當前的例子很難說,看起來似乎有更多的語法錯誤,或者可能有一些問題與瀏覽器或提交給服務器端。

這裏是一個基本的簡單例子,可以測試,如果你有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> 

如果你能提供一些更多的信息,我會盡我所能來幫助在這種情況下。有些時候,事情不工作..最好回到基本的測試,然後看看它休息。

編輯

<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> 

通過用如此簡單,你要確保基本概念的作品。如果一切正常,則更改操作測試的東西=「」第一..如果工作,然後更改sessionId /有效。該按鈕是簡單地排除onload事件。這是調試的一部分,並將在未來爲您節省大量時間。

替換「myurl_or_where_ever」與「resourcePath」

+0

我沒有php,請參閱我編輯的問題,我做不想把我的任何提交按鈕。 – 2015-04-06 07:22:06

+0

基本上這只是一個簡單的手動測試...將在一秒鐘內更新答案..但嘗試創建一個靜態版本的形式..所以沒有變量,沒有out.write ..只是一個普通的HTML文件,使用提交按鈕提交表單到預定義的動作/ URL ..這排除了語法,動態方面。 – Mayhem 2015-04-06 07:24:26

+0

我試過了,窗體工作正常,但我沒有得到JSON形式的響應,它以正常鍵的形式出現:值對 – 2015-04-06 10:13:06

相關問題