$http服務後臺獲取不到值

一般從jQuery的ajax轉用angular的$http服務的時候,會遇到後臺獲取不到值的狀況,這是由於jquery

post請求的請求體的兩種格式

  • 1.字符串: ‘name=name&password=password’
    這種格式的請求體,須要配置請求頭 ‘Content-Type’:’application/x-www-form-urlencoded’
  • 2.json: {name:’name’,password:’password’}
    這種格式的請求體,須要配置請求頭 ‘Content-Type’:’application/json;charset=UTF-8’

ajax和$http區別

  • 在jquery中,官方文檔解釋contentType默認是 application/x-www-form-urlencoded; charset=UTF-8,即第一種
  • 在angular的$http中,默認是第二種,因此使用$http(config)提交請求體,config中的data項必須是json格式的值。

解決辦法

  此時咱們能夠配置$http(config)中的headers中的Content-Type值爲’application/x-www-form-urlencoded’,而後就能按照ajax的用法盡情使用$http服務啦ajax

相關文章
相關標籤/搜索