Ajax跨域调用的范例

2019-03-02 01:05|来源: 网路

Ajax的写法:

$(function() {
		var oid = GetRequest("OID");
		//oid = "gh_fbcc787818d3";
		var openid = GetRequest("OPENID");
		//openid = "oVPTzt1-KZwUAP5xw8Vv1CaofMbQ";
		if (oid != "") {
			$.ajax({
				url : "http://it.livzon.cn/WXManage/WXAjax.ashx",
				type : "get",
				async : false,
				// dataType: "text",
				dataType : "jsonp",
				jsonp : "callbackparam",//服务端用于接收callback调用的function名的参数
				jsonpCallback : "success_jsonpCallback",//callback的function名称
				data : {
					flag : "GETWXUSERBYWXOIDANDOPENID",
					oid : oid,
					openid : openid
				},
				success : function(response) {
					response = eval(response);
					var str = "";
					if (response["name"] != "") {
						$("#username").val(response["name"]);
						$("#password").val(response["pwd"]);
						// $("#password").val("1111");
					}
					//$('#submit').click();
				},
				error : function() {
					alert("获取微信用户信息失败!");
				}
			});
		}
	});

 后台代码的处理:

  string openid = context.Request["openid"];
                string oid = context.Request["oid"];
                List<WXUserModel> list = GetWXUserByWXIDAndOpenIDAndOID(0, 0, openid, oid);
                context.Response.ContentType = "text/plain";
                String callbackFunName = context.Request["callbackparam"];
                if (list.Count > 0)
                {
                    byte[] bytes = Convert.FromBase64String( list[0].ADPASSWORD );
                    string pwd = Encoding.Default.GetString(bytes);
                    context.Response.Write(callbackFunName + "({ \"name\": \"" + list[0].ADACCOUNT + "\", \"pwd\": \"" + pwd + "\"})");
                }
                else {

                    context.Response.Write(callbackFunName + "({ \"name\": \"  \", \"pwd\": \" \"})");
                }

 


转自:http://www.cnblogs.com/fanxiaojun/p/3792466

相关问答

更多
  • 关于Ajax跨域请求(GET)或Ajax跨域提交(POST),只需要在 Fikker 转向管理中添加相关配置,即可由 Fikker 代理来完成 Ajax 跨域操作即可。伪静态化就是将用户访问的静态地址(html)转换成网站可识别的动态地址(php,asp,jsp等),这个通过向 Fikker 的转向管理中对应的转向规则即可完成。Url 转向还可以实现临时重定向功能,即利用 http 协议的302 状态,将用户的访问地址临时定向到另外一个访问地址。此功能强悍到可将用户请求转向到任何第三方网站,直接从第三方网站 ...
  • 跨域跟服务器没关系 只跟域名有关系 只有在同一个域名下 才不算跨域 一级域名相同 二级域名不同都算是跨域!
  • 应该是你语法问题 $.ajax({ url: "${域名}/CheckScaleApprove/getRecheckNum?memberCode=xxx", type:"POST", crossDomain: true, dataType: "jsonp", jsonp: "callBack",//服务端用于接收callback调用的function名的参数 success: function(rs){ console.log(rs) if(rs.status == 200 || rs.status == ...
  • 使用AJAX获取跨域数据的唯一(简单)方法是使用服务器端语言作为代理, Andy E指出。 这是一个小样本如何使用jQuery实现: jQuery部分: $.ajax({ url: 'proxy.php', type: 'POST', data: { address: 'http://www.google.com' }, success: function(response) { // response now contains ful ...
  • 如果jsonp不工作,你可以尝试从服务器调用url而不是从javascript / ajax尝试。 $.ajax({ url : 'proxy.php', data: {url :'https://redbooth.com/api/3/projects?order=id&archived=false'}, method: 'GET' }) .done(function( data, textStatus, jqXHR ) { alert('test'); }) proxy. ...
  • 您无法进行跨域调用来获取XML。 您接收数据跨域的唯一选择是JSON-P 。 same origin policy限制了直接访问外部域(ajax / iframes), json-p使用dynamic script tag insertion来解决这个问题。 看看http://api.jquery.com/jQuery.getJSON/ 。 JSON-P也覆盖在那里。 编辑 http://code.google.com/intl/de-DE/apis/youtube/2.0/developers_guide ...
  • 得到了解决方案。 我需要在Web服务器的JSON之前追加填充。 但根据我的说法,这不是完美的解决方案,因为它迫使我改变第三方代码。 仍然在等待完美的一个,所以它只能通过改变客户端脚本来工作。 喜欢 functionName({"firstName": "John","lastName": "Smith","age": 25}); Got the solution. I need to append padding before the JSON from web Server. But this is n ...
  • 我假设你的JS代码在abc.com ,你的wordpress网站是dev.abc.com 。 要修复跨域问题,只需将以下代码添加到.htaccess文件到您的wordpress站点( dev.abc.com ) SetEnvIf Origin "^http(s)?://(.+\.)?(abc\.com)$" origin_is=$0 Header always set Access-Control-Allow-Origin %{origin_is}e env=origin_is 只需用适当的站点名称替换 ...
  • 看看https://github.com/facebook/facebook-js-sdk/blob/deprecated/src/core/xd.js 它们使用rpc变通方法(带有中继文件),Flash本地连接和postMessage的组合,以浏览器支持的方式。 Take a look at https://github.com/facebook/facebook-js-sdk/blob/deprecated/src/core/xd.js They use a combination of rpc wor ...