【js】用DOM方式实现jQuery.ajax

26 篇文章 0 订阅
12 篇文章 0 订阅

因为jQuery.ajax()老是碰到各种各样的错,于是决定用最原始的DOM方式实现ajax获取jsonp的方法,过程中也加深了对其的理解!


总的来说就是动态创建DOM的script节点并添加到head中,url为请求jsonp的地址,需要带callback方法名,这样就可以回调本地的方法,传入参数了。


详解:

var url = "http://localhost:5000/route?callback=callback_function_name&...."

// add script to DOM
		var script = document.createElement('script');
		script.type = 'text/javascript';
		script.src = url;
		document.head.appendChild(script);	

这样我们就向html动态添加了<script src="..." type="..."></script>节点,url参数需要设置回调函数的方法名,具体设置要参照服务提供方的doc(大概就是获取url参数中key=callback的值作为方法名,用来包装服务方要返回的json数据,然后一起传回)。

PS: jquery中设置可见:【error】jQuery.ajax()报错Uncaught SyntaxError: Unexpected token


于是script的内容就呈现为  callback_function_name({json}),因为加载了该脚本,所以会调用本地的名字为callback_function_name的方法,而传回的数据json就作为callback_function_name的参数传入方法进行处理。

var callback_function_name(json_data){......}


参考链接:http://www.jb51.net/article/57728.htm



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值