<code>$.post( url : 'xxx', data : "{x:var1,y:var2}", function(msg){ alert(data); }, type:'json' )</code>
我用類似上面所寫的$post傳遞參數給java後台,其中var1,var2是我用$("#xx").val()獲取的input空間裡的內容,在前端這裡是成功獲取的,但是後端無法正確取得(input空間沒有name屬性)
我的問題是:在這種使用$.post()而沒有form和submit的情況下,input控制項裡面的name屬性究竟對資料的傳遞有沒有影響?
<code>$.post( url : 'xxx', data : "{x:var1,y:var2}", function(msg){ alert(data); }, type:'json' )</code>
我用類似上面所寫的$post傳遞參數給java後台,其中var1,var2是我用$("#xx").val()獲取的input空間裡的內容,在前端這裡是成功獲取的,但是後端無法正確取得(input空間沒有name屬性)
我的問題是:在這種使用$.post()而沒有form和submit的情況下,input控制項裡面的name屬性究竟對資料的傳遞有沒有影響?
沒有影響,這樣是一個ajax的post請求,資料的名字和值已經在data中指明了,後台取得的時候分別取得名字為x
和名字為y
的資料就能取得到var1
和var2
了
有沒有form和submit其實無所謂,你把data裡的東西拼對就好了。 XHR裡本來就有個FormData對象,new個出來填上東西裝data裡發出去一樣好使的。
不過你這麼寫沒問題?字串我一般是類似'key=value&key2=value2'這種寫法,要不是用json的{'key1':'value1','key2':'value2'}這種寫法,相對會保險一些…