使用Javascript服务器端编码从Classic ASP返回JSONP
Return JSONP from Classic ASP with Javascript server side coding
我从jquery调用一个经典的.asp页面来返回一个列表(使用JSONP)。我想使用JSONP,因为当我的网站通过谷歌翻译查看时,同源政策会导致问题。我找到的所有解决方案的问题都是,他们认为asp页面使用VBscript作为服务器端语言。我使用javascript作为服务器端语言,在asp中,连接到数据库并返回结果。
我尝试了几种不同的方法,但只返回了500个服务器错误。这是我的jquery调用:
$.ajax({
dataType: 'jsonp',
url: 'website/page.asp',
success: function () {
alert(data);
},
});
这是我的网页.aspx:
<%@ 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>
我所想做的就是创建一个简单的helloworldJSONP调用,这样我就可以开始修改它,以包含我正在对数据库进行的查询中的数据。有人有简单的版本吗?这可能吗?
您的示例毫无意义。首先,它有无效的语法("helloworld"是一个字符串,但它没有被引用)。其次,您希望在asp代码中对JSON进行编码,但使用eval解码JSON是一种(错误的)方式。以下是我认为您可以使用Crockford的json2.js对对象进行编码的方法,如下所示:
var sourceObj = { "testkey" : "test value", "otherkey" : 5 };
var jsonstr = JSON.stringify(sourceObj);
Response.Write("yourjsonpCallbackName (" + jsonstr + ");");
相关文章:
- 使用ajax上传的文件返回错误,但使用c#在asp.net的服务器端正常提交的文件
- ASP.NET WebMethod将整个页面返回给JQuery ajax请求
- 如何从jQuery对象文本正确调用服务器端ASP.NET并将数据返回给jQuery
- 输入验证&使用javascript或asp返回
- jQuery Ajax+经典ASP返回错误'意外的输入结束'
- 在代码隐藏 (asp.net VB) 中返回“完整”客户端 ID
- ASP:代码隐藏的字段变量在从更新面板中的服务器返回时丢失值
- 当Json Length过长时,对ASP.NET MVC Controller的Ajax调用返回404
- 如何禁用导致在ASP.NET UpdatePanel上返回的提交按钮
- 为什么asp:LinkButton服务器端事件没有'当clientClick返回true时,t激发
- ASP.net自定义控件,下拉值必须在服务器端填充,所选值在返回时丢失
- ASP WebForms在返回后重新评估属性
- ASP.NET页面:当服务器返回要下载的文件时,如何调用javascript方法
- 根据弹出窗口javascript的返回值更改asp.net面板的可见性
- Asp.net WebMethod-返回字符串[]并使用JavaScript进行解析
- 使用Javascript服务器端编码从Classic ASP返回JSONP
- Asp.返回json格式的自定义对象
- 为什么从ASP返回数据?.d属性内的.NET页面方法
- 从ASP返回JavaScript对象文字,而不是JSON字符串.. NET MVC端点
- 存储由ASP返回的字符串.. NET helper转换为javascript var: SyntaxError