2017-03-17 31 views
0

我打电话使用 方法的REST API是 “POST” 的RequestData是

{ 
    'username': user.userName, 
    'password': user.password, 
    'deviceID': deviceid, 
    'latlng': null, 
    'pincode': null 
} 

var req = { 
    method: method, 
    url: 'http://url/' + Api, 
    headers: { 
     'Token': 'Basic bUY5VkV0eHBOK3JUYUF1TGJjM1FHRGh4N1hYejhYSEw=', 
     'Content-Type': 'application/json' 
    }, 
    data: { 
     'contentType': 'application/json', 
     'content': requestData 
    }, 
} 
console.log(req); 

$http(req).then(successCallback, errorCallback); 

我的REST API是

@RequestMapping(value = "/authenticateUser", method = RequestMethod.POST, consumes = "application/json") 
public AuthenticateUserBean authenticateUser(@RequestBody final AuthenticateUserBean authenticateUserBean) { 

我recieving所有数据的空值,如用户名,密码。 这是一个角js离子混合应用程序。 使用chrome调用它。 Cors已被禁用。

+0

看到我的【答案】(http://stackoverflow.com/a/42852534/3543808)和后期的开发工具网络标签要求的截图 –

回答

0

您的请求格式有几个问题:

  • data
  • 没有必要的contentType您可以直接发送您的requestDatadata

尝试用下面的代码:

var req = { 
    method: method, 
    url: 'http://url/' + Api, 
    dataType: 'json', 
    headers: { 
     'Token': 'Basic bUY5VkV0eHBOK3JUYUF1TGJjM1FHRGh4N1hYejhYSEw=', 
     'Content-Type': 'application/json' 
    }, 
    data: requestData, 
} 
console.log(req); 

$http(req).then(successCallback, errorCallback); 
+0

谢谢。这是做了。非常感谢。 –

+0

我很高兴它帮助@RaviSolanki –

0

删除的内容类型属性的数据属性

var req = { 
    method: "POST", 
    url: 'http://url/' + Api, 
    headers: { 
     'Token': 'Basic bUY5VkV0eHBOK3JUYUF1TGJjM1FHRGh4N1hYejhYSEw=', 
     'Content-Type': 'application/json' 
    }, 
    data: { 
     'content': requestData 
    }, 
} 
+0

我已经尝试过那。它不起作用:( –

+0

控制台中是否有任何错误 –

+0

不,我从api获取响应,在APi结束时输入参数为空 –