前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Go 语言社区】跨域问题解决方案:jsonP客户端和服务器代码

【Go 语言社区】跨域问题解决方案:jsonP客户端和服务器代码

作者头像
李海彬
发布2018-03-19 18:02:06
8010
发布2018-03-19 18:02:06
举报
文章被收录于专栏:Golang语言社区Golang语言社区

客户端代码:

代码语言:javascript
复制
<html>

<head>

<script type='text/javascript'>

function mycallback(record) {

alert(record);//record是返回的数据

}



function jsonPRequest(){

var url = 'http://www.xxx.com/jsonP/request_data.php?callback=mycallback';

var script = document.createElement('script');

script.setAttribute('src',url);

document.getElementsByTagName('head')[0].appendChild(script);

}

</script>

</head>

<body>

<!-- 点此按钮请求数据 -->

<button onclick='void jsonPRequest();'>请求数据</button>

</body>

</html>

服务器代码: JAVA:

代码语言:javascript
复制
boolean jsonP = false;

String cb = request.getParameter("callback");

if (cb != null) {

    jsonP = true;

    response.setContentType("text/javascript");

} else {

    response.setContentType("application/x-json");

}

Writer out = response.getWriter();

if (jsonP) {

    out.write(cb + "(");

}

out.print(dataBlock.toJsonString());

if (jsonP) {

    out.write(");");

}

PHP:

代码语言:javascript
复制
$callback = $_REQUEST['callback'];



// Create the output object.

$output = array('a' => 'Apple', 'b' => 'Banana');



//start output

if ($callback) {

    header('Content-Type: text/javascript');

    echo $callback . '(' . json_encode($output) . ');';

} else {

    header('Content-Type: application/x-json');

    echo json_encode($output);

}

ASP.net:

代码语言:javascript
复制
String jsonString = "{success: true}";

String cb = Request.Params.Get("callback");

String responseString = "";

if (!String.IsNullOrEmpty(cb)) {

    responseString = cb + "(" + jsonString + ")";

} else {

    responseString = jsonString;

}

Response.Write(responseString);
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-01-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档