我有一个asp页面,它会为那些在Windows机器上登录的人提取数据,如下所示:
<%
Response.AddHeader "Access-Control-Allow-Origin", "*"
username=(Request.ServerVariables("LOGON_USER"))
username=replace(username,"CORP\","")
%>
<%=username%>
在另一个域上,我使用ajax jsonp调用调用此页面,如下所示:
$.ajax({
url:'http://myDomain/get_cur_user.asp',
dataType: 'jsonp',
jsonp: 'callback',
error: function(jqXHR, textStatus, errorThrown){
console.log(textStatus + errorThrown);
},
success: function(data){
console.log(data);
}
});
我得到的是:
Resource interpreted as Script but transferred with MIME type text/html: "http://myDomain/get_cur_user.asp?callback=jQuery1102012502304464578629_1394753532582&_=1394753532583". jquery-1.10.2.js:8516
Uncaught ReferenceError: theOutputedUserName is not defined get_cur_user.asp?callback=jQuery1102012502304464578629_1394753532582&_=1394753532583:1
parsererrorError: jQuery1102012502304464578629_1394753532582 was not called
“OutPutedUserName”正是我想要的。所以它“正在工作”但同时也在爆炸。任何帮助将不胜感激。
答案 0 :(得分:0)
我找到了自己问题的答案。
我的经典ASP页面如下所示:
<%
dim callback
username = replace((Request.ServerVariables("LOGON_USER")),"CORP\","")
callback = Request("callback")
Response.Write(callback & "([{""id"": """& username &"""}])")
%>
我的Javascript(JQuery)看起来像这样:
$.ajax({
url:'http://myDomain/get_cur_user.asp',
dataType: 'jsonp',
jsonp: 'callback',
error: function(jqXHR, textStatus, errorThrown){
console.log(textStatus + errorThrown);
},
success: function(data){
console.log(data);
}
});
非常感谢我遇到的这个网站: http://forum.jquery.com/topic/classic-asp-and-jsonp-output