JSONP AJAX返回正确的值但有错误

时间:2014-03-13 23:35:22

标签: jquery asp.net jsonp cors

我有一个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”正是我想要的。所以它“正在工作”但同时也在爆炸。任何帮助将不胜感激。

1 个答案:

答案 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