我有一个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”正是我想要返回的内容。因此,它是“有效的”,但同时又在爆炸。任何帮助将不胜感激。
我想出了自己的问题的答案。
我的经典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