2012-03-16 80 views
3

我正在处理的当前项目需要我与Windows Live API交谈。我使用AJAX请求来接收包含用户详细信息的JSON对象。 我一直在如何过收到此错误: 无法加载资源:服务器与415(不支持的媒体类型)状态Ajax/JSON服务器响应的状态为415(不支持的介质类型)

我的第一个想法是添加一个回应“&回调=?”网址。但后来我得到了“Uncaught SyntaxError:意外的令牌:”在JSON响应中。

我一直在寻找如何修复错误。但是没有找到适用于这两种错误的解决方案最重要的是,如果我很不确定哪个错误,我应该尝试解决(状态415或意外的令牌)。任何指向我的方向正确的方向将不胜感激!

$.ajax({ 
     url: "https://apis.live.net/v5.0/me?access_token=" + localStorage.getItem('Live_token'), 
     dataType: 'json', 
     type : 'GET', 
     contentType: "application/json;", 
     async: false, 
     success : function(data) { 
      var id = data.id, 
      fname = data.last_name, 
      email = data.emails.preferred;//TODO preferred or account? 
      alert(id + '|' + fname + '|' + email); 
      localStorage.setItem('Live_verifier', id + '|' + fname + '|' + email); 
     }, 
     error : function(data) { 
      localStorage.removeItem('Live_token'); 
     } 
    }); 

在此先感谢

回答

2

你有没有尝试设置

dataType: 'jsonp', 

,并在URL中"&callback=?"?您正在呼叫另一个域上的服务器,因此您必须将jsonp设置为dataType

+0

工作方式类似于魅力。 我之前尝试过,但我忘了&在网址中。 – Reinard 2012-03-16 13:58:32

+1

我们可以在其中添加“&callback =?”在URl?您可以通过添加“&callback =?”来发布示例网址吗? @尼科拉Peluchetti – 2014-11-18 11:16:54

相关问题