我正在尝试将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
返回未定义。 - 我也不确定如何将多个
HttpRequest headers
发送到服务器,同时获取HttpReponse headers
. - 铬给了我这个:
拒绝负载铬 extension://nhjloagockgobfpopemejpgjjechcpfd/js/jquery.min.map。资源必须在web_accessible_resources清单密钥中列出以便由扩展之外的页面加载。本地主机/webui/:
获取铬 extension://invalid/
除此之外,我在Firefox中没有收到任何错误消息
来自 AJAX 文档
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);
}
});