当前位置:K88软件开发文章中心编程语言AjaxAjax01 → 文章内容

asp教程:关于jquery跨域彻底的解决方法

减小字体 增大字体 作者:wangsdong     来源:asp编程网  发布时间:2018-12-30 9:22:46

经过一天的不断测试和探索,终于找到asp开发中彻底的解决jquery跨域的方法:

前几天也写了一篇文章:jquery跨域的方法 
,后来在应用的过程中发现,这只是jquery跨域的基础,服务器端也需要做一些处理。

首先介绍一下服务器端程序:

<
%@ codepage=65001%>
<
%response.Charset="utf-8"callback=request("callback")str="
{""status"":1,""postPrice"":[
{""Productid"":1,""Productname"": ""手机"",""Price"":25.5,""num"": 1000,""url"":""http://www.baidu.com""},

{""Productid"":2,""Productname"": ""相机"",""Price"":75,""num"": 2000,""url"":""http://www.K88.NET""}]}"response.write callback&
"("&
str&
")"%>
(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)

注意一下这里的: 
callback=request("callback")和下面的输出response.write callback&
"("&
str&
")",这是jquery服务器端要增加的内容,用来返回给客户端的。

 

在看看客户端页面程序:

<
%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html
charset=utf-8" />
<
title>
jquery跨域的彻底解决方法<
/title>
<
script type="text/javascript" src="/js/jquery/jquery.js">
<
/script>
<
script type="text/javascript">
$(function()
{$.getJSON("http://www.K88.NET/demo/json/1.asp?callback=?",
{ name: "John",t:Math.random() },
function(data)
{var status=data.status
if(status==1)
{var str=''
$.each(data.postPrice,function(i)
{m=data.postPrice[i]
str+='<
ol>
'
str+='<
li>
产品ID:'+m.Productid+'<
/li>
'
str+='<
li>
产品名称:'+m.Productname+'<
/li>
'
str+='<
li>
价格:'+m.Price+'元<
/li>
'
str+='<
li>
数量:'+m.num+'<
/li>
'
str+='<
li>
网址:'+m.url+'<
/url>
'
str+='<
/ol>
'
})
$("
#div1").html(str)
} } )
})
<
/script>
<
/head>
<
body>
<
div id="div1">
<
/div>
<
/body>
<
/html>
(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)

这样就行了。
本来我发现服务器端生成的json字符串前面有一些jquery+字符串的东西,应该改变了json的格式,但到了客户端的时候,我们得到了data这个值,这个data中应该有服务器端子的那些jquery字符串的。但这个就会被jquery自动处理掉,不需要我们处理这个,我们只需要按平时的习惯去获取json字符串我们要的内容就行了。

是不是挺好用的?



asp教程:关于jquery跨域彻底的解决方法