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

问题描述 投票:0回答:1

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

jquery asp.net jsonp
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.