2016-07-08 61 views
0

我正在嘗試使用JavaScript來生成將發佈到web服務的窗體。但是,我一直無法正確格式化數據。它需要在json中?我將如何去做這種形式。使用javascript生成POST表單?

var form = document.createElement('form'); 
with (form) { 
    setAttribute("name", "theForm"); // give form a name 
    setAttribute("action", pathTOGO); // give form an action 
    setAttribute("method", "post"); // give form a method 

} 


document.getElementsByTagName("body")[0].appendChild(form); 
document.forms[0].submit(); 

但是,pathTOGO需要帖子包含json格式的信息。 如何使用JavaScript來指定,這種形式將發送

{ 
    "Auth": "", 
    "User":"", 

} 

其中字符串填充爲同時保證張貼知道

Content-Type = application/json 

任何幫助深表感謝。基本上是什麼im askis如何創建一個窗體,使這個確切的HTTP後使用JavaScript?

POST /WEBSITEPOSTLOCATION HTTP/1.1 
Host: WEBSITE 
Content-Type: application/json 

{ 
    "Auth":"SOMEVAL", 
    "User":"SOMENAME" 
} 

非常感謝。

+0

你可以使用AJAX並不構成了本次 – charlietfl

+0

有沒有辦法做到這一點呢。我嚴格無法使用Ajax或任何其他方式比表單。 @charliefl – Stevie

+0

您可以使用代理將表單數據轉換爲json。表單不會作爲json發送 – charlietfl

回答

0

將表單數據以name = value的形式發佈到服務器,所以爲了使用表單完成它,您需要發佈在參數上字符串化的JSON對象。 例如,您可以在名稱json中爲表單輸入(type =「text」),併爲JSON對象賦值(inputelement.value = JSON.stringify(myJsonObject))。然後服務器將獲得帶有json文本名稱的參數。

但是您應該使用ajax請求更簡單地發佈您的數據,即使您從一個按鈕調用它。

這裏有一個類似的問題: How to send a JSON object using html form data