第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何使用html表單數(shù)據(jù)發(fā)送JSON對(duì)象

如何使用html表單數(shù)據(jù)發(fā)送JSON對(duì)象

Qyouu 2019-08-12 14:36:09
如何使用html表單數(shù)據(jù)發(fā)送JSON對(duì)象所以我有這個(gè)HTML表單:<html><head><title>test</title></head><body>     <form action="myurl" method="POST" name="myForm">         <p><label for="first_name">First Name:</label>         <input type="text" name="first_name" id="fname"></p>         <p><label for="last_name">Last Name:</label>         <input type="text" name="last_name" id="lname"></p>         <input value="Submit" type="submit" onclick="submitform()">     </form></body></html>當(dāng)用戶點(diǎn)擊提交時(shí),這是將此表單的數(shù)據(jù)作為JSON對(duì)象發(fā)送到我的服務(wù)器的最簡單方法?更新:我已經(jīng)走了這么遠(yuǎn),但它似乎不起作用:<script type="text/javascript">     function submitform(){         alert("Sending Json");         var xhr = new XMLHttpRequest();         xhr.open(form.method, form.action, true);         xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');         var j = {             "first_name":"binchen",             "last_name":"heris",         };         xhr.send(JSON.stringify(j));我究竟做錯(cuò)了什么?
查看完整描述

3 回答

?
holdtom

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個(gè)贊

獲取完整的表單數(shù)據(jù)作為數(shù)組和json字符串化它。

var formData = JSON.stringify($("#myForm").serializeArray());

您可以稍后在ajax中使用它?;蛘呷绻銢]有使用ajax; 把它放在隱藏的textarea中并傳遞給服務(wù)器。如果此數(shù)據(jù)通過普通表單數(shù)據(jù)作為json字符串傳遞,則必須使用json_decode對(duì)其進(jìn)行解碼 。然后,您將獲得數(shù)組中的所有數(shù)據(jù)。

$.ajax({
  type: "POST",
  url: "serverUrl",
  data: formData,
  success: function(){},
  dataType: "json",
  contentType : "application/json"});


查看完整回答
反對(duì) 回復(fù) 2019-08-12
?
墨色風(fēng)雨

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊

HTML無法從表單數(shù)據(jù)生成JSON。

如果你真的想從客戶端處理它,那么你將不得不求助于使用JavaScript:

  1. 通過DOM從表單中收集數(shù)據(jù)

  2. 將它組織在一個(gè)對(duì)象或數(shù)組中

  3. 使用JSON.stringify生成JSON

  4. 使用XMLHttpRequest發(fā)布

你可能最好不要堅(jiān)持application/x-www-form-urlencoded使用服務(wù)器而不是JSON處理數(shù)據(jù)和處理數(shù)據(jù)。您的表單沒有任何可以從JSON數(shù)據(jù)結(jié)構(gòu)中受益的復(fù)雜層次結(jié)構(gòu)。


更新以回應(yīng)重大改寫的問題......

  • 你的JS沒有readystatechange處理程序,因此你對(duì)響應(yīng)沒有任何作用

  • 單擊提交按鈕時(shí)觸發(fā)JS而不取消默認(rèn)行為。一旦JS功能完成,瀏覽器將以常規(guī)方式提交表單。


查看完整回答
反對(duì) 回復(fù) 2019-08-12
?
繁花如伊

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊

您的代碼很好但從未執(zhí)行過,提交按鈕的原因[type =“submit”]只需用type = button替換它

<input value="Submit" type="button" onclick="submitform()">

在你的腳本里面; 表單未聲明。

let form = document.forms[0];xhr.open(form.method, form.action, true);


查看完整回答
反對(duì) 回復(fù) 2019-08-12
  • 3 回答
  • 0 關(guān)注
  • 2975 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)