『壹』 浏览器怎么用get方式传递json数组
get请求直接在浏览器地址栏输完请求地址后加一个英文问号然后接参数名、等号、参数按回车就可以发送get
『贰』 httpclient能通过get类型请求发送json数据吗
http://www.tuicool.com/articles/Unumeu,里抄面有get和post请求。
『叁』 jquery get怎么接收json数据格式
你好,先解释来下ajax ,post
jq里面post的底层就自是ajax,
$.post是ajax的type:post方式的简单实现,同理还有$.get
jq本身具有对返回参数格式化的功能,
请把你的post后面加个参数:
jQuery.post("Test.php",{id:jQuery('#ddlYTShop').val(),act:"Shop"},
function(data){
jQuery.each(data, function(index, entry){
var option="<option value='"+entry['ShopName']+"'>"+entry['ShopName']+"</option>";
jQuery("#ddlB_ShopName").append(option);
});
}, 'json');//这里加个json,就可以了,具体说明请看手册
另外你的2个shop大小写不统一,请仔细检查。
『肆』 求一个vbnet post/get 发送数据和处理返回json的例子。灌水的路过。。。
java代码
/* 注意get和post请求的发送区别
* 1、创建HttpGet(或HttpPost)对象,将要请求的URL通过构造方法传入HttpGet(或HttpPost)对象中;
2、使用DefaultHttpClient类的execute方法发送HTTP GET或HTTP POST 请求,并返回HttpResponse对象;
3、通过HttpResponse接口的getEntity方法返回响应信息。
* */
public class TestHttpActivity extends Activity {
private Button btn_get;
private Button btn_post;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn_get=(Button)findViewById(R.id.btn_get);
btn_post=(Button)findViewById(R.id.btn_post);
btn_get.setOnClickListener(listener);
btn_post.setOnClickListener(listener);
}
private OnClickListener listener=new OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_post:
Log.i("TestHttpActivity", "ok");
DefaultHttpClient client = new DefaultHttpClient();
/**NameValuePair是传送给服务器的请求参数 param.get("name") **/
List<NameValuePair> list = new ArrayList<NameValuePair>();
NameValuePair pair1 = new BasicNameValuePair("name", "name0001");
NameValuePair pair2 = new BasicNameValuePair("age", "age0001");
list.add(pair1);
list.add(pair2);
UrlEncodedFormEntity entity=null;
try {
/**设置编码 **/
entity = new UrlEncodedFormEntity(list,"UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/**新建一个post请求**/
HttpPost post = new HttpPost("http://aaron-pc.wsd.com/Test/testHttp");
post.setEntity(entity);
HttpResponse response=null;
String strResult="";
try {
/**客服端向服务器发送请求**/
response = client.execute(post);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/**请求发送成功,并得到响应**/
if(response.getStatusLine().getStatusCode()==200){
try {
/**读取服务器返回过来的json字符串数据**/
strResult = EntityUtils.toString(response.getEntity());
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JSONObject jsonObject = null;
try {
/**把json字符串转换成json对象**/
jsonObject = getJSON(strResult);
} catch (JSONException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
String names="";
try {
/**
* jsonObject.getString("code") 取出code
* 比如这里返回的json 字符串为 [code:0,msg:"ok",data:[list:{"name":1},{"name":2}]]
* **/
/**得到data这个key**/
String data=jsonObject.getString("data");
/**把data下的数据转换成json对象**/
JSONObject jDat = new JSONObject(data);
/**判断data对象下的list是否存在**/
if(jDat.get("list")!=null){
/**把list转换成jsonArray对象**/
JSONArray jarr = jDat.getJSONArray("list");
/**循环list对象**/
for (int i = 0; i < jarr.length(); i++) {
/** **/
JSONObject jsono = (JSONObject) jarr.get(i);
/**取出list下的name的值 **/
names=names+jsono.getString("name");
}
}
Toast.makeText(TestHttpActivity.this, "code:"+jsonObject.getString("code")+"name:"+names, Toast.LENGTH_SHORT).show();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else Toast.makeText(TestHttpActivity.this, "POST提交失败", Toast.LENGTH_SHORT).show();
break;
case R.id.btn_get:
DefaultHttpClient client1 = new DefaultHttpClient();
/**NameValuePair是传送给服务器的请求参数 param.get("name") **/
UrlEncodedFormEntity entity1=null;
/**新建一个get请求**/
HttpGet get = new HttpGet("http://aaron-pc.wsd.com/Test/testHttp");
HttpResponse response1=null;
String strResult1="";
try {
/**客服端向服务器发送请求**/
response1 = client1.execute(get);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/**请求发送成功,并得到响应**/
if(response1.getStatusLine().getStatusCode()==200){
try {
/**读取服务器返回过来的json字符串数据**/
strResult1 = EntityUtils.toString(response1.getEntity());
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JSONObject jsonObject1 = null;
try {
/**把json字符串转换成json对象**/
jsonObject1 = getJSON(strResult1);
} catch (JSONException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
String names="";
try {
/**
* jsonObject.getString("code") 取出code
* 比如这里返回的json 字符串为 [code:0,msg:"ok",data:[list:{"name":1},{"name":2}]]
* **/
/**得到data这个key**/
String data=jsonObject1.getString("data");
/**把data下的数据转换成json对象**/
JSONObject jDat1 = new JSONObject(data);
/**判断data对象下的list是否存在**/
if(jDat1.get("list")!=null){
/**把list转换成jsonArray对象**/
JSONArray jarr1 = jDat1.getJSONArray("list");
/**循环list对象**/
for (int i = 0; i < jarr1.length(); i++) {
/** **/
JSONObject jsono = (JSONObject) jarr1.get(i);
/**取出list下的name的值 **/
names=names+jsono.getString("name");
}
}
Toast.makeText(TestHttpActivity.this, "get请求: code:"+jsonObject1.getString("code")+"name:"+names, Toast.LENGTH_SHORT).show();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else Toast.makeText(TestHttpActivity.this, "get提交失败", Toast.LENGTH_SHORT).show();
break;
}
}
};
public JSONObject getJSON(String sb) throws JSONException {
return new JSONObject(sb);
}
}
『伍』 Get方式如何传递参数
在列出post与get的区别:
1.Post传输数据时,不需要在URL中显示出来,而Get方法要在URL中显示。
2.Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字节.
3.Post顾名思义,就是为了将数据传送到服务器段,Get就是为了从服务器段取得数据.而Get之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据.Post的信息作为http请求的内容,而Get是在Http头部传输的。
get和post的区别
1get方式传递的参数可以在页面上看见,So安全性不高,反之post安全性高
2get方式传递的速度快。
在后台定义了get,set方法可以直接获取,不用getParameter("name");
$.get(....) $.ajax(....) $.getJSON(....)3个都是ajax传递
只是方式不同。
$.get()是以get方式传递到后台
$.ajax()需要你配置传递到后台的方式,而且功能比$.get()方法多,建议使用这个方法
$.getJSON()传递的是json数据类型
开发经验表明,两者最重要的区别是:get不能传中文,会乱码,而post就不会出现乱码问题了
首先看一下get、post的区别 1、 get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 2、 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。两种方式的参数都可以用Request来获得。 3、get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,因服务器的不同而异. 4、get安全性非常低,post安全性较高。 5、 <form method="get" action="a.asp?b=b">跟<form method="get" action="a.asp">是一样的,也就是说,action页面后边带的参数列表会被忽视;而<form method="post" action="a.asp?b=b">跟<form method="post" action="a.asp">是不一样的。 另外 Get请求有如下特性:它会将数据添加到URL中,通过这种方式传递到服务器,通常利用一个问号?代表URL地址的结尾与数据参数的开端,后面的参数每一个数据参数以“名称=值”的形式出现,参数与参数之间利用一个连接符&来区分。 Post请求有如下特性:数据是放在HTTP主体中的,其组织方式不只一种,有&连接方式,也有分割符方式,可隐藏参数,传递大批数据,比较方便。 总而言之:当我们在提交表单的时候我们通常用post方式,当我们要传送一个较大的数据文件时,需要用post。当传递的值只需用参数方式(这个值不大于2KB)的时候,用get方式即可。
所以对于ajax提交两者用法自然就明了了
『陆』 postjson和getjson的区别
get和post顾名思义,两种提交方式,getjson则是向后台定了一个要求,返回的数据内必须是json,否则容回调函数里的XHR对象为空,$get,$post,$getjson三个方法最后调用的都是$ajax,只不过jquery对这三个方法进行了简单的封装。
『柒』 get请求参数是json格式的数据,怎么请求
get请求一般是在你请求的地址后边 加上 ?par=''&par2='' 例如 请求的页面是 a.do(假设你后台是java) 那么 请求地址是这样的
『捌』 如何通过js获取json数据,传到页面
有两种方法,一种是$.ajax(option)方法,一种是$.getJSON()方法。
实例:
一、数据集所在jsp页面out.jsp,代码如下
<%@page contentType="text/plain; charset=UTF-8"
language="java"
import="java.io.*,java.net.*,java.util.*"
buffer="8kb"
session="false"
autoFlush="true"
%>
<%
String jsonData="{data:[{id:200901,name:'name1'},{id:200902,name:'name2'},{id:200903,name:'姓名3'},{id:200904,name:'姓名4'},{id:200905,name:'姓名5'}]}";
//out.clear();
out.write(jsonData);
%>
二、js处理页面
(1)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<script type="text/javascript" language="javascript" src="js/jquery.js"></script>
<script type="text/javascript">
function getOut(){
var s='';
$.ajax({
type:'get',//请求方式
url:'out.jsp?id='+Math.random(), // AJAX HTTP请求接口
data:'',//提交到服务器接口的参数 比如'{cid:0405}',结果为out.jsp?cid=0405格式
dataType:'json',//请求类型为json, 更多见jquery doc文档
timeout:7000,//请求超时后停止请求
success: function(json){
var d=json.data;
$.each(d,function(i){
s+=('<p>id:'+d[i].id +' | name:'+d[i].name+'</p><hr/>');
});
$('#out').html(s);}});
}
</script>
</head>
<body style="margin:20px;text-align:center;background:#E5E5E5;">
<input type="text" name="getdata" onclick="getOut()"/>
<div id="out">
</div>
</body>
</html>
(2)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<head>
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script>
function showStudent(){
var s='';
$.getJSON("out.jsp?id="+Math.random(),function(json){
var d=json.data;
for(var i=0;i<d.length;i++){
s+=('<p>id:'+d[i].id +' | name:'+d[i].name+'</p><hr/>');
}
$('#content').html(s);
});
}
</script>
</head>
<body>
<input type="button" value="获取学院信息" onclick="showStudent()" />
<div id="content"></div>
</body>
</html>
总结:
(1)有时候总是出现错误,原因在于——json数据格式有问题,前端$.getJSON()方法并没有什么错误。
(2)相对来说,$ajax(option)方法使用比较灵活,可以用在比较复杂的情况。
『玖』 getmethod如何发送json数据
有时候我们在发送HTTP请求的时候会使用到POST方式,如果是传送普通的表单数据那将很方便,直接将参数到一个Key-value形式的Map中即可。但是如果我们需要传送的参数是Json格式的,会稍微有点麻烦,我们可以使用HttpClient类库提供的功能来实现这个需求。假设我们需要发送的数据是:
1
{
2
"blog": "http://www.iteblog.com",
3
"Author": "iteblog"
4
}
我们可以通过JSONObject够着Json:
1
JSONObject jsonObject = new JSONObject();
2
3
jsonObject.put("blog", "http://www.iteblog.com");
4
jsonObject.put("Author", "iteblog");
如果需要使用Post方式来发送这个数据,我们可以如下实现:
01
private HttpMethodBase createMethod(String url, int timeout) {
02
PostMethod method = null;
03
try {
04
method = new PostMethod(url);
05
JSONObject jsonObject = new JSONObject();
06
07
jsonObject.put("blog", "http://www.iteblog.com");
08
jsonObject.put("Author", "iteblog");
09
10
String transJson = jsonObject.toString();
11
RequestEntity se = new StringRequestEntity(transJson, "application/json", "UTF-8");
12
method.setRequestEntity(se);
13
//使用系统提供的默认的恢复策略
14
method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler());
15
//设置超时的时间
16
method.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, timeout);
17
} catch (IllegalArgum www.hbbz08.com entException e) {
18
logger.error("非法的URL:{}", url);
19
} catch (UnsupportedEncodingException e) {
20
e.printStackTrace();
21
}
22
23
return method;
24
}
我们通过StringRequestEntity来构造请求实体,在这里,StringRequestEntity将接收三个参数,如下:
1
public StringRequestEntity(String content, String contentType, String charset)
2
throws UnsupportedEncodingException
其中参数content就是我们需要传输的数据;contentType是传送数据的格式,因为我们的数据格式是json的,所以contentType必须填写application/json(更多的contentType可以参见《HTTP Content-Type常用一览表》);charset是字符集编码。
然后我们再通过HttpClient对象的executeMethod方法来执行:
查看源代码打印帮助
1
int statusCode = httpClient.executeMethod(getMethod);
2
//只要在获取源码中,服务器返回的不是200代码,则统一认为抓取源码失败,返回null。
3
if (statusCode != HttpStatus.SC_OK) {
4
logger.error("Method failed: " + getMethod.getStatusLine() + "\tstatusCode: " + statusCode);
5
return null;
6
}