apiscesdjson

问题描述:用js怎么把这个json拿下来自己网站用 本篇文章给大家谈谈一个有趣的事情,以及一个有趣的事情,希望对各位有所帮助,不要忘了收藏本站喔。

网页中如何读取ajax返回的天气预报json数据

apiscesdjson的相关图片

我能想到的就两种方法,你试试

ajax,

创建script标签,src填写你的这个网址。在js中使用。

content-type application/json 请求 服务端怎么获取请求数据的相关图片

content-type application/json 请求 服务端怎么获取请求数据

我之前也弄过天气预报的接口,用ajax来读取。

因为涉及到不在同一个域的问题,所以要用jsonp的形式,但是他们没有提供回调的方法,只给了一个链接,所以前端直接好像不是很好获取(可能是我不知道怎么获取)。

后来我在服务器端先把数据获取了,然后在同域下用ajax来请求数据就好。

php代码(xhr2.php):

<?php  

     header("content-type: text/html");  。

     $url = 'http://m.weather.com.cn/data/';  。

     $id = $_GET['id'];。

     //$id =101010100;。

     $data = file_get_contents($url . $id .'.html');  。

     echo $data;。

?>

前端用ajax请求xhr2.php:

$.ajax({

url:'xhr2.php',。

dataType:"json",。

success:dada,

error: function(){。

//alert("ERROR!")。

success: function(msg){。

//alert( msg);

});

希望能帮到你,如果有更好的方法,我们可以一起交流。

jquery jsonp 是post 还是get的相关图片

jquery jsonp 是post 还是get

content-type application/json 请求 服务端怎么获取请求数据。

在Android/java平台上实现POST一个json数据:

JSONObject jsonObj = new JSONObject();。

jsonObj.put("username", username);。

jsonObj.put("apikey", apikey);。

// Create the POST object and add the parameters。

HttpPost httpPost = new HttpPost(url);。

StringEntity entity = new StringEntity(jsonObj.toString(), HTTP.UTF_8);。

entity.setContentType("application/json");。

httpPost.setEntity(entity);。

HttpClient client = new DefaultHttpClient();。

HttpResponse response = client.execute(httpPost);。

用curl可执行如下命令:

curl -l -H "Content-type: application/json" -X POST -d '{"phone":"13521389587","password":"test"}' http://domain/apis/users.json。

用jQuery:

$.ajax({

url:url,

type:"POST",

data:data,

contentType:"application/json; charset=utf-8",。

dataType:"json",。

success: function(){。

...

}

})

content-type application/json 请求 服务端怎么获取请求数据?的相关图片

content-type application/json 请求 服务端怎么获取请求数据?

我觉得你这个问题首先得搞清楚什么是json和jsonp。

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,用于在浏览器和服务器之间交换信息。

JSONP(JSON With Padding),就是打包在函数调用中的的JSON(或者包裹的JSON)。

JSON是一种数据格式,JSONP是一种数据调用方式。

//JSON

“name”: “sb”

}

//JSONP

callback({

“name”: “sb”

})

出于安全考虑,脚本(AJAX)不能访问非本域的内容。但是,静态资源是不受域策略限制的,可以加载任意域的脚本、样式、图片等静态资源,JSOP就是利用这种原理来实现跨域获取数据的。

例1:

//定义shoPrice函数

function showPrice(data) {。

alert("Symbol: " + data.symbol + ", Price: " + data.price);。

}

//在Web页面中包含showPrice函数和参数。

<script type="text/javascript">。

function showPrice(data) {。

alert("Symbol: " + data.symbol + ", Price: " + data.price);。

}

</script>。

<script type="text/javascript">showPrice({symbol: 'IBM', price: 91.42});</script>。

本例展示了如何将静态JSON数据作为参数调用JavaScript函数。

例2:

第一种的函数调用完全可以写在一个js文件中放在服务器上,用script标签加载到页面,而且这个标签可以动态地创建。

<script type="text/javascript">。

// This is our function to be called with JSON data。

function showPrice(data) {。

alert("Symbol: " + data.symbol + ", Price: " + data.price);。

}

var url = “remote.js”; // 外部脚本的URL。

// 动态插入脚本

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

script.setAttribute('src', url);。

// 加载script

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

</script>。

remote.js的内容和之前在标签里写的一样是:

showPrice({symbol: 'IBM', price: 91.42}); 。

动态插入的JavaScript代码,将要传递的JSON数据作为参数,showPrice函数调用语句的参数。

那么问题来了,每次获取到数据都调用showPrice函数吗?这就需要前后端程序猿做好约定,当然这样有很多不便,尤其是对于开放接口给公众开发的情况。JSOP这样处理:支持前端传递一个回调函数名参数,后端接收回调函数名参数,然后生成对该函数的调用,将JSON数据作为参数传递,在到达客户端时将其插入页面开始执行。

例3:

动态插入代码,带有callback参数:

<script type="text/javascript">。

// This is our function to be called with JSON data。

function showPrice(data) {。

alert("Symbol: " + data.symbol + ", Price: " + data.price);。

}

var url = “remote.js?callback='showPrice'”; // 外部脚本的URL。

// 动态插入脚本

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

script.setAttribute('src', url)。

// 加载script

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

</script>。

后端用PHP实现的JSONP服务的代码片段:

$jsonData = getDataAsJson($_GET['symbol']);。

echo $_GET['callback'] . '(' . $jsonData . ');';。

// 打印: showPrice({"symbol" : "IBM", "price" : "91.42"});。

很好的契合了JSONP的定义,打包在函数调用中的JSON数据。

以上几个例子来自:使用 JSONP 实现跨域通信,第 1 部分: 结合 JSONP 和 jQuery 快速构建强大的 mashup。

接下来,在jQuery中使用JSONP:

AJAX和JSONP在jQuery中的调用方式看起来极为相像,千万不要被这种现象迷惑,它们本质上有很大不同。AJAX是通过XMLHttpRequest对象获取非页面内容,而JSONP是动态的添加<script>标签来调用服务器脚本。虽然jQuery把JSONP作为AJAX的一种形式进行了封装,但JSONP并不是AJAX的一种形式或一种特例。

$.ajax({

url: "http://query.yahooapis.com/v1/public/yql",。

jsonpCallback: "showPrice",。

jsonp: "callback",。

// tell jQuery we're expecting JSONP。

dataType: "jsonp", 。

data: {

q: "select title,abstract,url from search.news where query=\"cat\"",。

format: "json"。

},

// work with the response。

success: function( data ) {。

console.log( data ); // server response。

}

});

参数解释:

jsonp 重写jsonp请求中的回调函数的名称。至俄格值用来替代“callback=?”这种GET或POST请求URL参数里的“callback”部分,例如{jsonp:'onJsonPLoad'}会导致“onJsonPLoad”传递给服务器。

jsonpCallback 为jsonp指定一个回调函数名。这个值将用来取代jQuery自动生成的随机函数名。这主要用来让jQuery生成度独特的函数名,这样管理请求更容易,也能方便地提供回调函数和错误处理。你也可以在想让浏览器缓存GET请求的时候,指定这个回调函数名。但是实际使用过程中,并不用写回调函数,比如此例中的showPrice,不写也不会报错,因为jQuery在处理JSONP的时候,自动帮你生成回调函数并且把数据取出来共success方法调用。可能像这样:

function success_jsonpCallback(data) { success(data); } 。

所以:jsonp 可以是使用post方法也可以使用get方法。

在Android/java平台上实现POST一个json数据:

JSONObject jsonObj = new JSONObject();。

jsonObj.put("username", username);。

jsonObj.put("apikey", apikey);。

// Create the POST object and add the parameters。

HttpPost httpPost = new HttpPost(url);。

StringEntity entity = new StringEntity(jsonObj.toString(), HTTP.UTF_8);。

entity.setContentType("application/json");。

httpPost.setEntity(entity);。

HttpClient client = new DefaultHttpClient();。

HttpResponse response = client.execute(httpPost);。

用curl可执行如下命令:

curl -l -H "Content-type: application/json" -X POST -d '{"phone":"13521389587","password":"test"}' http://domain/apis/users.json。

用jQuery:

$.ajax({

url:url,

type:"POST",

data:data,

contentType:"application/json; charset=utf-8",。

dataType:"json",。

success: function(){。

...

})

服务端(Server)是为客户端服务的,服务的内容诸如向客户端提供资源,保存客户端数据。一般大型的服务端都是在linux环境下搭建。

服务端不具备运算能力,因为服务端同时会与多个客户端建立连接,一旦服务端进行运算的话,就会占用大量的资源,从而影响到其他客户端的通信。

服务端是一种有针对性的服务程序。它的主要表现形式以“windows窗口程序”与“控制台”为主。一般大型的服务端都是在linux环境下搭建。运行服务端的电脑称之为“服务器”。

原文地址:http://www.qianchusai.com/apiscesdjson.html

flash快速擦除,flash怎么擦除导入的图片

flash快速擦除,flash怎么擦除导入的图片

森林里有一棵老树作文,森林里有一棵老树作文怎么写

森林里有一棵老树作文,森林里有一棵老树作文怎么写

meteorological,meteorological department

meteorological,meteorological department

witness-150

witness-150

道胎境,道胎境章节小说

道胎境,道胎境章节小说

KeePassXC-10

KeePassXC-10

births-60

births-60

synonymous-50

synonymous-50

tequila,tequila形容女生

tequila,tequila形容女生

描写小动物的名家作品,描写小动物的名家作品图片

描写小动物的名家作品,描写小动物的名家作品图片