Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript服务器端编码从经典ASP返回JSONP_Javascript_Jquery_Json_Asp Classic_Jsonp - Fatal编程技术网

使用Javascript服务器端编码从经典ASP返回JSONP

使用Javascript服务器端编码从经典ASP返回JSONP,javascript,jquery,json,asp-classic,jsonp,Javascript,Jquery,Json,Asp Classic,Jsonp,我正在从jquery调用classic.asp页面以返回一个列表(使用JSONP)。我想使用JSONP,因为当通过google translate查看我的网站时,同源策略会导致问题。我发现的所有解决方案的问题是,它们假定asp页面使用VBscript作为服务器端语言。我使用javascript作为服务器端语言,在asp中,连接到数据库并返回结果 我尝试了几种只返回500个服务器错误的不同方法。这是我的jquery调用: $.ajax({ dataType: 'jsonp', url: '

我正在从jquery调用classic.asp页面以返回一个列表(使用JSONP)。我想使用JSONP,因为当通过google translate查看我的网站时,同源策略会导致问题。我发现的所有解决方案的问题是,它们假定asp页面使用VBscript作为服务器端语言。我使用javascript作为服务器端语言,在asp中,连接到数据库并返回结果

我尝试了几种只返回500个服务器错误的不同方法。这是我的jquery调用:

$.ajax({
  dataType: 'jsonp',
  url: 'website/page.asp',
 success: function () {
    alert(data);
  },
});
下面是my page.asp:

<%@ language="Javascript" %>

<script language="javascript" runat="server" src='json2.js'></script>
<script language="javascript" runat="server">

var jsonValue = eval('('hello world')');
Response.Write(jsonValue);

</script>

var jsonValue=eval(“('hello world')”);
Write(jsonValue);

我所要做的就是创建一个简单的hello world JSONP调用,这样我就可以开始修改它,以包含我正在对数据库执行的查询中的数据。有人对此有一个简单的版本吗?这可能吗?

你的例子毫无意义。首先,它的语法无效(“hello world”是一个字符串,但没有被引用)。其次,您希望在asp代码中对JSON进行编码,但使用eval将是一种(错误的)JSON解码方法。我认为您可以使用Crockford的json2.js对对象进行编码,如下所示:

var sourceObj = { "testkey" : "test value", "otherkey" : 5 };
var jsonstr = JSON.stringify(sourceObj);
Response.Write("yourjsonpCallbackName (" + jsonstr + ");");