ajax 跨域访问问题
来源:互联网 发布:淘宝客服热线 编辑:程序博客网 时间:2024/06/09 19:08
这两天写一个sina 微博短url 例子。其中利用ajax 跨域访问问题。
成功代码如下:
- <html lang="zh" xml:lang="zh" xmlns="http://www.w3.org/1999/xhtml"><head>
- <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
- <meta charset="utf-8">
- <title>Tools</title>
- <head>
- <script type="text/javascript" src="./jquery-1.6.4.min.js"></script>
- <script type="text/javascript">
- function short(){
- var url_long=$("#url_long").val();
- var source=$("#source").val();
- var request = "http://api.t.sina.com.cn/short_url/shorten.json?url_long="+url_long+"&source="+source+"&callback=?";
- //&callback=? 必须加上,虽然可以返回数据但success:function 不会调用。jquery api 文档上有说明。
- $.ajax({
- dataType: "jsonp",//跨域访问 dataType 必须是jsonp 类型。
- url: request,
- type:"GET",
- jsonp:"callbackparam",
- jsonpCallback:"success",
- success: function(response) {
- $("#shortUrl").html("短地址为:"+response[0].url_short);
- },
- error: function(XMLHttpRequest, textStatus, errorThrown) {
- alert("status"+XMLHttpRequest.status);
- alert("readyState"+XMLHttpRequest.readyState);
- alert("textstatus"+textStatus);
- alert(errorThrown);
- }
- });
- return false;
- }
- </script>
- </head>
- <body >
- <div>
- 欢迎使用地址转写工具,请输入链接<br><br>
- <form>
- 物品链接:<input type="string" name="url_long" id="url_long" /><br>
- APIkey <input type="string" name="source" value="1681459862" id="source" /><br><br>
- <input type="button" name="submit" value="提交" onclick="short()" />
- </form>
- </div>
- <div id="shortUrl">
- </div>
- </body>
1. datatype 必须为jsonp
2.callback=? 必须加上,开始没加上success:function 一直没有响应(返回了数据)。
3.charset="utf-8" 为utf-8 ,文件的保存格式也应该是encoding utf-8 。
如下图所示:
刚开始format 选成了Encode in ANSI 打开网页时出现乱码。
程序运行结果为:
如果采用form 表单提交,不需考虑跨域问题。
代码如下:
- <html lang="zh" xml:lang="zh" xmlns="http://www.w3.org/1999/xhtml"><head>
- <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
- <meta charset="utf-8">
- <title>Tools</title>
- </head>
- <body >
- <div>
- 欢迎使用地址转写工具,请输入链接<br><br>
- <form action="http://api.t.sina.com.cn/short_url/shorten.json" method="get">
- 物品链接:<input type="string" name="url_long" /><br>
- APIkey <input type="string" name="source" value="1681459862" /><br><br>
- <input type="submit" name="submit" value="提交" />
- </form>
- </div>
- </body>
0 0
- ajax 跨域访问问题
- ajax 跨域访问 问题!
- AJAX跨域访问问题
- Ajax跨域访问问题
- ajax 跨域访问问题
- 解决AJAX跨域访问的问题
- ajax跨域访问的问题
- ajax实现跨域访问的问题
- JSONP解决ajax跨域访问问题
- jquery ajax 解决跨域访问问题
- 解决ajax跨域访问的问题
- 解决Ajax(jsonp)跨域访问问题
- CORS解决ajax跨域访问问题
- Jquery ajax跨域访问的问题
- Ajax跨域访问SSH action问题
- Ajax跨域访问
- ajax跨域访问?
- Ajax跨域访问
- 简单理解java反射机制
- 杂记<二>
- MySQL5.6分区数量太多引发的血案
- 2016年第一周目标制定
- 判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
- ajax 跨域访问问题
- static
- mybatis番外篇(一)自动生成键selectkey
- urllib 详解
- leetcode1--Two Sum
- HashMap、HashTable、LinkedHashMap和TreeMap
- linux的nohup命令的用法
- 五家共井
- $.parseJSON(data)只支持标准的JSON