我正在尝试将json
数据和Http headers
发送到服务器
App.LoginController = Ember.ObjectController.extend(
{
username: '',
password: '',
actions: {
login: function(){
username = this.get('username');
password = this.get('password');
// alert("User: "+ username + " Pass: " + password);
var loginData = {"code":username, "passkey":password};
loginData = JSON.stringify(loginData);
// alert(loginData);
var timeStamp = getTimeStamp();
// alert(timeStamp);
$.ajax({
url: 'http://192.168.254.222:8080/project/auth/login',
type: 'POST',
beforeSend: function (request)
{
request.setRequestHeader("token", authToken);
},
data: loginData,
dataType: 'json',
contentType: 'application/json',
success: function(data) {
var returned_data = data;
console.log(returned_data);
console.log(returned_data.error);
alert('yey!');
},
error: function(xhr, status, error){
var err = eval("(" + xhr.responseText + ")");
alert(err.Message);
}
});
}
}
});
err
会返回 undefined 。 HttpRequest headers
发送到服务器,同时获取HttpReponse headers
。拒绝加载 镀铬的扩展://nhjloagockgobfpopemejpgjjechcpfd/js/jquery.min.map。 资源必须列在web_accessible_resources清单键中 为了通过扩展名以外的页面加载。 本地主机/ WebUI中/:
GET chrome-extension://无效/
除此之外,我在Firefox中没有收到任何错误消息
答案 0 :(得分:0)
dataType
- 您期望从服务器返回的数据类型。希望你回来json回复
检查authToken
是否为字符串?
beforeSend: function (request)
{
request.setRequestHeader("token", authToken);
}
同时添加.ajaxComplete(function( event, xhr, settings ),看看你在这里得到什么
另外,对于设置HttpHeader,您可以根据您使用的技术编写服务器代码
我为ASP.Net编写了以下内容
response.Content.Headers.Add("some_header", "Value");
在jQuery ajax成功回调中读取这个
$.ajax({
url: 'http://192.168.254.222:8080/project/auth/login',
type: 'POST',
beforeSend: function (request)
{
request.setRequestHeader("token", authToken);
},
data: loginData,
dataType: 'json',
contentType: 'application/json',
success: function(data, textStatus, request) {
var returned_data = data;
alert(request.getResponseHeader('some_header'));
},
error: function(xhr, status, errMsg){
alert(errMsg);
}
});