0

我正在尝试将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);
            }
        });
    }
}
});
  1. 但变量err返回undefined
  2. 另外我不确定如何将多个发送HttpRequest headers到服务器,同时获取HttpReponse headers.
  3. 铬给了我这个:

拒绝加载 chrome-extension://nhjloagockgobfpopemejpgjjechcpfd/js/jquery.min.map。资源必须列在 web_accessible_resources 清单键中,才能被扩展之外的页面加载。本地主机/webui/:

获取 chrome-extension://invalid/

除了这些,我在 Firefox 中没有收到任何错误消息

4

1 回答 1

0

来自 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);
        }
    });        
于 2013-10-01T10:53:04.450 回答