post调用地址:http://XXXXX/
post的参数名称:fromdata
将登陆界面的用户名和密码保存格式为:
<?xml version="1.0" encoding="UTF-8" ?>
<auth>
<email>username</email>
<password>password</password>
</auth>
然后服务器端返回的xml为:
<?xml version="1.0" encoding="UTF-8"?>
<result>
<retCode>0</retCode>
<retInfo>认证成功</retInfo>
</result>主要是解析retCode的值...
ajax传数据不是很懂啊,所以希望能有比较完整的代码,各位大神帮帮忙,时间很紧...
47 个解决方案
#1
var xmlData = 'xxxxxxxx';
$.ajax({
type: "POST",
data: {fromdata:xmlData},
url: "http://XXXXX/",
dataType: "json", //返回json,也可改为html
async: false,
success: function(json) {
//处理返回结果
},
error: function(data) {
//处理错误
}
});
$.ajax({
type: "POST",
data: {fromdata:xmlData},
url: "http://XXXXX/",
dataType: "json", //返回json,也可改为html
async: false,
success: function(json) {
//处理返回结果
},
error: function(data) {
//处理错误
}
});
#2
js 处理XML功能还不完善。推荐使用json
#3
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
function check(f) {
var xml = '<?xml version="1.0" encoding="UTF-8" ?><auth><email>' + f.email.value + '</email><password>' + f.password.value + '</password></auth>';
$.ajax({ url: '动态页地址',
type: 'POST',
data: 'data=' + encodeURIComponent(xml),
dataType: 'xml',
success: function (xmlDoc) {
var retCode = $(xmlDoc).find('retCode').text();
alert(retCode);
},
error: function (xhr) { alert('发生错误!\n' + xhr.responseText); }
});
return false;
}
</script>
</head>
<body>
<form onsubmit="return check(this)">
<INPUT name=email class="inp" id="text" size=15 maxLength=40>
<INPUT name=password type=text1 class="inp" id="text1">
<input type="submit" value="submit" />
</form>
</body>
</html>
#4
post参数fromdata用在哪呢?
#5
那post的参数fromdata用在哪呢?
那post的参数fromdata用在哪呢?
那post的参数fromdata用在哪呢?
#6
那怎样对json解析呢?我主要是获得retCode和retInfo的值
#7
晕,不都给你示例了。。要自己组合,那个别人只是说明性的
#8
那post的参数fromdata用在哪呢? <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
function check(f) {
var xml = '<?xml version="1.0" encoding="UTF-8" ?><auth><email>' + f.email.value + '</email><password>' + f.password.value + '</password></auth>';
$.ajax({ url: '动态页地址',
type: 'POST',
data: 'data=' + encodeURIComponent(xml),
dataType: 'xml',
success: function (xmlDoc) {
var retCode = $(xmlDoc).find('retCode').text();
alert(retCode);
},
error: function (xhr) { alert('发生错误!\n' + xhr.responseText); }
});
return false;
}
</script>
</head>
<body>
<form onsubmit="return check(this)">
<INPUT name=email class="inp" id="text" size=15 maxLength=40>
<INPUT name=password type=text1 class="inp" id="text1">
<input type="submit" value="submit" />
</form>
</body>
</html>
那post的参数fromdata用在哪呢?
晕,不都给你示例了。。要自己组合,那个别人只是说明性的
我是把data中的data=换成参数fromdata的,应该是这样的吧,但是最后结果是显示发生错误,并且没有xhr.responseText信息...
#9
data: '
fromdata=' + encodeURIComponent(xml),
这样就行了
这样就行了
#10
data: ' fromdata=' + encodeURIComponent(xml),
这样就行了
我是这样改的但是最后结果是“发生错误”,而且没有xhr.responseText信息返回,不知道哪里有问题...
#11
动态页设置了contexttype为text/xml了吗
不行将dataType改为html试试
不行将dataType改为html试试
#12
动态页设置了contexttype为text/xml了吗
不行将dataType改为html试试
改为html的话,会有提示框,但是提示框里没有内容...
#13
function check(f) {
var xml = '<?xml version="1.0" encoding="UTF-8" ?><auth><email>' + f.email.value + '</email><password>' + f.password.value + '</password></auth>';
$.ajax({ url: '动态页地址',
type: 'POST',
data: 'fromdata=' + encodeURIComponent(xml),
dataType: 'html',
success: function (xmlDoc) {
alert(xmlDoc)//看输出什么,如果没有输出就是你的动态页有问题,没有返回内容
var retCode = $(xmlDoc).find('retCode').text();
alert(retCode);
},
error: function (xhr) { alert('发生错误!\n' + xhr.responseText); }
});
return false;
}
var xml = '<?xml version="1.0" encoding="UTF-8" ?><auth><email>' + f.email.value + '</email><password>' + f.password.value + '</password></auth>';
$.ajax({ url: '动态页地址',
type: 'POST',
data: 'fromdata=' + encodeURIComponent(xml),
dataType: 'html',
success: function (xmlDoc) {
alert(xmlDoc)//看输出什么,如果没有输出就是你的动态页有问题,没有返回内容
var retCode = $(xmlDoc).find('retCode').text();
alert(retCode);
},
error: function (xhr) { alert('发生错误!\n' + xhr.responseText); }
});
return false;
}
#14
function check(f) {
var xml = '<?xml version="1.0" encoding="UTF-8" ?><auth><email>' + f.email.value + '</email><password>' + f.password.value + '</password></auth>';
$.ajax({ url: '动态页地址',
type: 'POST',
data: 'fromdata=' + encodeURIComponent(xml),
dataType: 'html',
success: function (xmlDoc) {
alert(xmlDoc)//看输出什么,如果没有输出就是你的动态页有问题,没有返回内容
var retCode = $(xmlDoc).find('retCode').text();
alert(retCode);
},
error: function (xhr) { alert('发生错误!\n' + xhr.responseText); }
});
return false;
}
什么也没有,
但是我如果直接打开动态页网址的话,有相应的信息。因为用的是学校的邮箱验证,如果直接打开动态页网址,会显示输入不能为空。
#15
url到底是什么?跨域了没有。。
跨域请求不行
跨域请求不行
#16
url到底是什么?跨域了没有。。
跨域请求不行
url:http://software.nju.edu.cn:8000/api/auth/user/
跨域了应该怎么弄?
#17
跨域了就要再自己的站点做个代理页面,用服务器端的xhr发送数据请求跨域页面获取返回的输出后输出,ajax请求代理页面,不能直接请求跨域的那个页面,安全问题不允许直接请求跨域的页面
#18
跨域了就要再自己的站点做个代理页面,用服务器端的xhr发送数据请求跨域页面获取返回的输出后输出,ajax请求代理页面,不能直接请求跨域的那个页面,安全问题不允许直接请求跨域的页面
服务器端是指?
#19
跨域了就要再自己的站点做个代理页面,用服务器端的xhr发送数据请求跨域页面获取返回的输出后输出,ajax请求代理页面,不能直接请求跨域的那个页面,安全问题不允许直接请求跨域的页面
代理页面能不能给个实例啊,这个实在是不懂...
#20
jsp不会了,帮你移动到java版块去
#21
jsp中读is流(包含xml信息)
/**
* 获取指定省份的城市列表
* 返回Map<城市名,城市气象id>
* @throws IOException
*/
public Map<String, String> getCityMap(String provincename) throws IOException {
InputStream cityXml = null;
Map<String,String> citymap=null;
try {
cityXml = dao.getCityXml(provincename);
citymap=new HashMap<String,String>();
SAXReader sr = new SAXReader();// 获取读取xml的对象。
Document document;
document = sr.read(cityXml);
Element root = document.getRootElement();
List<?> elementlist = root.elements("city");
for (Object obj : elementlist) {
Element row = (Element) obj;
String cityname = row.attribute("cityname").getText();
String cityid =row.attribute("url").getText();
citymap.put(cityname,cityid);
}
return citymap;
} catch (DocumentException e) {
Log.e(this.toString(), "document Error");
}
return null;
}
#22
jsp不会了,帮你移动到java版块去
那先谢谢版主了
#23
jsp中读is流(包含xml信息)
/**
* 获取指定省份的城市列表
* 返回Map<城市名,城市气象id>
* @throws IOException
*/
public Map<String, String> getCityMap(String provincename) throws IOException {
InputStream cityXml = null;
Map<String,String> citymap=null;
try {
cityXml = dao.getCityXml(provincename);
citymap=new HashMap<String,String>();
SAXReader sr = new SAXReader();// 获取读取xml的对象。
Document document;
document = sr.read(cityXml);
Element root = document.getRootElement();
List<?> elementlist = root.elements("city");
for (Object obj : elementlist) {
Element row = (Element) obj;
String cityname = row.attribute("cityname").getText();
String cityid =row.attribute("url").getText();
citymap.put(cityname,cityid);
}
return citymap;
} catch (DocumentException e) {
Log.e(this.toString(), "document Error");
}
return null;
}
没懂你意思,和我的问题有关?
#24
jsp中读is流(包含xml信息)
/**
* 获取指定省份的城市列表
* 返回Map<城市名,城市气象id>
* @throws IOException
*/
public Map<String, String> getCityMap(String provincename) throws IOException {
InputStream cityXml = null;
Map<String,String> citymap=null;
try {
cityXml = dao.getCityXml(provincename);
citymap=new HashMap<String,String>();
SAXReader sr = new SAXReader();// 获取读取xml的对象。
Document document;
document = sr.read(cityXml);
Element root = document.getRootElement();
List<?> elementlist = root.elements("city");
for (Object obj : elementlist) {
Element row = (Element) obj;
String cityname = row.attribute("cityname").getText();
String cityid =row.attribute("url").getText();
citymap.put(cityname,cityid);
}
return citymap;
} catch (DocumentException e) {
Log.e(this.toString(), "document Error");
}
return null;
}
没懂你意思,和我的问题有关?
jsp是不是就是一个servlet?
servlet中是不是可以运行java代码?
这个java代码是不是可以把返回的流解析成xml对象?
#25
jsp中读is流(包含xml信息)
/**
* 获取指定省份的城市列表
* 返回Map<城市名,城市气象id>
* @throws IOException
*/
public Map<String, String> getCityMap(String provincename) throws IOException {
InputStream cityXml = null;
Map<String,String> citymap=null;
try {
cityXml = dao.getCityXml(provincename);
citymap=new HashMap<String,String>();
SAXReader sr = new SAXReader();// 获取读取xml的对象。
Document document;
document = sr.read(cityXml);
Element root = document.getRootElement();
List<?> elementlist = root.elements("city");
for (Object obj : elementlist) {
Element row = (Element) obj;
String cityname = row.attribute("cityname").getText();
String cityid =row.attribute("url").getText();
citymap.put(cityname,cityid);
}
return citymap;
} catch (DocumentException e) {
Log.e(this.toString(), "document Error");
}
return null;
}
没懂你意思,和我的问题有关?
jsp是不是就是一个servlet?
servlet中是不是可以运行java代码?
这个java代码是不是可以把返回的流解析成xml对象?
我现在不是要解析xml,而是要把数据以xml格式提交给一个url,因为是跨域的,所以需要弄个jsp作为代理,但是不知道应该怎样操作...
#26
jsp中读is流(包含xml信息)
/**
* 获取指定省份的城市列表
* 返回Map<城市名,城市气象id>
* @throws IOException
*/
public Map<String, String> getCityMap(String provincename) throws IOException {
InputStream cityXml = null;
Map<String,String> citymap=null;
try {
cityXml = dao.getCityXml(provincename);
citymap=new HashMap<String,String>();
SAXReader sr = new SAXReader();// 获取读取xml的对象。
Document document;
document = sr.read(cityXml);
Element root = document.getRootElement();
List<?> elementlist = root.elements("city");
for (Object obj : elementlist) {
Element row = (Element) obj;
String cityname = row.attribute("cityname").getText();
String cityid =row.attribute("url").getText();
citymap.put(cityname,cityid);
}
return citymap;
} catch (DocumentException e) {
Log.e(this.toString(), "document Error");
}
return null;
}
没懂你意思,和我的问题有关?
jsp是不是就是一个servlet?
servlet中是不是可以运行java代码?
这个java代码是不是可以把返回的流解析成xml对象?
我现在不是要解析xml,而是要把数据以xml格式提交给一个url,因为是跨域的,所以需要弄个jsp作为代理,但是不知道应该怎样操作...
你的意思是想把xml文件拼接成json串发送?
还是转化成流的方式发送?
#27
jsp中读is流(包含xml信息)
/**
* 获取指定省份的城市列表
* 返回Map<城市名,城市气象id>
* @throws IOException
*/
public Map<String, String> getCityMap(String provincename) throws IOException {
InputStream cityXml = null;
Map<String,String> citymap=null;
try {
cityXml = dao.getCityXml(provincename);
citymap=new HashMap<String,String>();
SAXReader sr = new SAXReader();// 获取读取xml的对象。
Document document;
document = sr.read(cityXml);
Element root = document.getRootElement();
List<?> elementlist = root.elements("city");
for (Object obj : elementlist) {
Element row = (Element) obj;
String cityname = row.attribute("cityname").getText();
String cityid =row.attribute("url").getText();
citymap.put(cityname,cityid);
}
return citymap;
} catch (DocumentException e) {
Log.e(this.toString(), "document Error");
}
return null;
}
没懂你意思,和我的问题有关?
jsp是不是就是一个servlet?
servlet中是不是可以运行java代码?
这个java代码是不是可以把返回的流解析成xml对象?
我现在不是要解析xml,而是要把数据以xml格式提交给一个url,因为是跨域的,所以需要弄个jsp作为代理,但是不知道应该怎样操作...
你的意思是想把xml文件拼接成json串发送?
还是转化成流的方式发送?
我要传的数据类型就是xml,而且必须要是post方法,但是json是get的,因为验证那边的页面要求的是post方式的xml格式数据...
请求码流样例:
要求:
post调用地址:http://software.nju.edu.cn:8000/api/auth/user/
post的参数名称:fromdata
格式为:
<?xml version="1.0" encoding="UTF-8" ?>
<auth>
<email>xx@xx.xx</email>
<password>CY9rzUYh03PK3k6DJie09g==</password>
</auth>
这种要求转化成流可行?
#28
jsp中读is流(包含xml信息)
/**
* 获取指定省份的城市列表
* 返回Map<城市名,城市气象id>
* @throws IOException
*/
public Map<String, String> getCityMap(String provincename) throws IOException {
InputStream cityXml = null;
Map<String,String> citymap=null;
try {
cityXml = dao.getCityXml(provincename);
citymap=new HashMap<String,String>();
SAXReader sr = new SAXReader();// 获取读取xml的对象。
Document document;
document = sr.read(cityXml);
Element root = document.getRootElement();
List<?> elementlist = root.elements("city");
for (Object obj : elementlist) {
Element row = (Element) obj;
String cityname = row.attribute("cityname").getText();
String cityid =row.attribute("url").getText();
citymap.put(cityname,cityid);
}
return citymap;
} catch (DocumentException e) {
Log.e(this.toString(), "document Error");
}
return null;
}
没懂你意思,和我的问题有关?
jsp是不是就是一个servlet?
servlet中是不是可以运行java代码?
这个java代码是不是可以把返回的流解析成xml对象?
我现在不是要解析xml,而是要把数据以xml格式提交给一个url,因为是跨域的,所以需要弄个jsp作为代理,但是不知道应该怎样操作...
你的意思是想把xml文件拼接成json串发送?
还是转化成流的方式发送?
我要传的数据类型就是xml,而且必须要是post方法,但是json是get的,因为验证那边的页面要求的是post方式的xml格式数据...
请求码流样例:
要求:
post调用地址:http://software.nju.edu.cn:8000/api/auth/user/
post的参数名称:fromdata
格式为:
<?xml version="1.0" encoding="UTF-8" ?>
<auth>
<email>xx@xx.xx</email>
<password>CY9rzUYh03PK3k6DJie09g==</password>
</auth>
这种要求转化成流可行?
我在做*气象台的接口的时候,从url对象中获取返回流,就是xml格式的。
我们写的字符串其实也是以流的形式来发送的,不是么?
#29
那你的意思是写个Servlet接受我写的login.jsp的数据,在装成xml格式,以流的形式发送给验证的那个页面?
但是servlet中怎样标志这是一段xml文件呢?不能标志的话,验证页面是检测不了的,要求就是这样的...
#30
那你的意思是写个Servlet接受我写的login.jsp的数据,在装成xml格式,以流的形式发送给验证的那个页面?
但是servlet中怎样标志这是一段xml文件呢?不能标志的话,验证页面是检测不了的,要求就是这样的...
要么你想怎么发送信息?
所有的信息都是包装到流里面的,接受页面肯定也会默认的去解析这个流,读出其中的信息。
另外,login.jsp编译之后就等于servlet,这不叫接受。
你的要求说白了,就是给服务端发送一段xml格式的文字,对么?
#31
那你的意思是写个Servlet接受我写的login.jsp的数据,在装成xml格式,以流的形式发送给验证的那个页面?
但是servlet中怎样标志这是一段xml文件呢?不能标志的话,验证页面是检测不了的,要求就是这样的...
要么你想怎么发送信息?
所有的信息都是包装到流里面的,接受页面肯定也会默认的去解析这个流,读出其中的信息。
另外,login.jsp编译之后就等于servlet,这不叫接受。
你的要求说白了,就是给服务端发送一段xml格式的文字,对么?
是的,应该怎么处理?希望能有点代码参考下
#32
那你的意思是写个Servlet接受我写的login.jsp的数据,在装成xml格式,以流的形式发送给验证的那个页面?
但是servlet中怎样标志这是一段xml文件呢?不能标志的话,验证页面是检测不了的,要求就是这样的...
要么你想怎么发送信息?
所有的信息都是包装到流里面的,接受页面肯定也会默认的去解析这个流,读出其中的信息。
另外,login.jsp编译之后就等于servlet,这不叫接受。
你的要求说白了,就是给服务端发送一段xml格式的文字,对么?
是的,应该怎么处理?希望能有点代码参考下
我感觉应该是类似下面这样的吧?
public void sendXmlTest() throws Exception {
// 通过类装载器装载XML资源
InputStream inputStream = this.getClass().getClassLoader()
.getResourceAsStream("test.xml");
byte[] xml = input2byte(inputStream);
String path = "http://172.22.35.112:8080/videonews/GetXmlInfo";
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setConnectTimeout(5000);
conn.setDoOutput(true);
// 设置HTTP请求的头字段
conn.setRequestProperty("Content-Type", "text/xml; charset=UTF-8"); // 内容类型
conn.setRequestProperty("Content-Length", String.valueOf(xml.length)); // 实体内容的长度
conn.getOutputStream().write(xml);
if (conn.getResponseCode() == 200) {
System.out.println("发送成功!");
} else {
System.out.println("发送失败!");
}
}
public static final byte[] input2byte(InputStream inStream)
throws IOException {
ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
byte[] buff = new byte[100];
int rc = 0;
while ((rc = inStream.read(buff, 0, 100)) > 0) {
swapStream.write(buff, 0, rc);
}
byte[] in2b = swapStream.toByteArray();
return in2b;
}
#33
类装载器装载xml资源是通过路径读取xml文件吧,但是我这应该是不用读取xml文件的,应该是xml格式的String,不过注明是xml类型的,这样行不行?
#34
类装载器装载xml资源是通过路径读取xml文件吧,但是我这应该是不用读取xml文件的,应该是xml格式的String,不过注明是xml类型的,这样行不行?
我这是安卓的,所以通过类加载器去找。。
你的xml文件在哪里呢?
这个问题,如果只是字符串的话,把字符串转化为为inputstream流你应该会吧?
#35
类装载器装载xml资源是通过路径读取xml文件吧,但是我这应该是不用读取xml文件的,应该是xml格式的String,不过注明是xml类型的,这样行不行?
我这是安卓的,所以通过类加载器去找。。
你的xml文件在哪里呢?
这个问题,如果只是字符串的话,把字符串转化为为inputstream流你应该会吧?
难道不可以直接把String转换为byte么...
还有一个问题是post有一个参数,这个应该怎么传?
#36
类装载器装载xml资源是通过路径读取xml文件吧,但是我这应该是不用读取xml文件的,应该是xml格式的String,不过注明是xml类型的,这样行不行?
我这是安卓的,所以通过类加载器去找。。
你的xml文件在哪里呢?
这个问题,如果只是字符串的话,把字符串转化为为inputstream流你应该会吧?
难道不可以直接把String转换为byte么...
还有一个问题是post有一个参数,这个应该怎么传?
当然可以了。我只是不习惯改动方法的输入参数而已。。这个方法的输入参数应该是inputstream。
可以的话建议使用httpClient
这样就可以创建多个NameValuePair对象保存值了。。
http://www.oschina.net/code/snippet_1434_1032
这个你看下
#37
类装载器装载xml资源是通过路径读取xml文件吧,但是我这应该是不用读取xml文件的,应该是xml格式的String,不过注明是xml类型的,这样行不行?
我这是安卓的,所以通过类加载器去找。。
你的xml文件在哪里呢?
这个问题,如果只是字符串的话,把字符串转化为为inputstream流你应该会吧?
难道不可以直接把String转换为byte么...
还有一个问题是post有一个参数,这个应该怎么传?
当然可以了。我只是不习惯改动方法的输入参数而已。。这个方法的输入参数应该是inputstream。
可以的话建议使用httpClient
这样就可以创建多个NameValuePair对象保存值了。。
http://www.oschina.net/code/snippet_1434_1032
这个你看下
想问下那个网页的代码中:PostMethod post = new PostMethod("/simcard.php");
simcard.php是指哪个页面?
#38
还有就是我的post参数是应该加在 NameValuePair simcard = new NameValuePair("simcard","1330227");
的哪个位置?是前面的"simcard"改为"fromdata",还是"1330227"改为"fromdata="+xml字符串?
#39
类装载器装载xml资源是通过路径读取xml文件吧,但是我这应该是不用读取xml文件的,应该是xml格式的String,不过注明是xml类型的,这样行不行?
我这是安卓的,所以通过类加载器去找。。
你的xml文件在哪里呢?
这个问题,如果只是字符串的话,把字符串转化为为inputstream流你应该会吧?
难道不可以直接把String转换为byte么...
还有一个问题是post有一个参数,这个应该怎么传?
当然可以了。我只是不习惯改动方法的输入参数而已。。这个方法的输入参数应该是inputstream。
可以的话建议使用httpClient
这样就可以创建多个NameValuePair对象保存值了。。
http://www.oschina.net/code/snippet_1434_1032
这个你看下
想问下那个网页的代码中:PostMethod post = new PostMethod("/simcard.php");
simcard.php是指哪个页面?
它前面加了域名了和协议以及端口号了
client.getHostConfiguration().setHost("www.imobile.com.cn", 80, "http");
这方法等于添加地址。拼接起来的话应该是
http://www.imobile.com.cn/simcard.php
#40
还有就是我的post参数是应该加在 NameValuePair simcard = new NameValuePair("simcard","1330227");
的哪个位置?是前面的"simcard"改为"fromdata",还是"1330227"改为"fromdata="+xml字符串?
我晕了。那边是xml形式接受的,xml外面还得包含一个参数?
还是就是传2个字符串的值过去,一个值是参数,一个值是xml字符串?
#41
还有就是我的post参数是应该加在 NameValuePair simcard = new NameValuePair("simcard","1330227");
的哪个位置?是前面的"simcard"改为"fromdata",还是"1330227"改为"fromdata="+xml字符串?
我晕了。那边是xml形式接受的,xml外面还得包含一个参数?
还是就是传2个字符串的值过去,一个值是参数,一个值是xml字符串?
1.client.getHostConfiguration().setHost(url)貌似也可以?如果里面是url,那么PostMethod post = new PostMethod("/simcard.php");应该怎么写,难道括号里为空?
2.应该是有一个参数叫fromdata,这个参数的值为一个xml字符串,然后验证页面那边读取参数fromdata的值...
#42
还有就是我的post参数是应该加在 NameValuePair simcard = new NameValuePair("simcard","1330227");
的哪个位置?是前面的"simcard"改为"fromdata",还是"1330227"改为"fromdata="+xml字符串?
我晕了。那边是xml形式接受的,xml外面还得包含一个参数?
还是就是传2个字符串的值过去,一个值是参数,一个值是xml字符串?
1.client.getHostConfiguration().setHost(url)貌似也可以?如果里面是url,那么PostMethod post = new PostMethod("/simcard.php");应该怎么写,难道括号里为空?
2.应该是有一个参数叫fromdata,这个参数的值为一个xml字符串,然后验证页面那边读取参数fromdata的值...
我哭了。你那就是字符串嘛。至于怎么解析xml那是那边的事了。。。
就是传两个字符串过去呗?
#43
我哭了。你那就是字符串嘛。至于怎么解析xml那是那边的事了。。。
就是传两个字符串过去呗?
不懂你说的传两个字符串过去是什么意思,为什么会有两个字符串..我看了一些网上httpClient的例子,都是直接传xml字符串的,所以不是很清楚post的参数fromdata怎么传,难道是这样:NameValuePair fromdata=new NameValuePair("fromdata",xml字符串);?还是哪样?
#44
我哭了。你那就是字符串嘛。至于怎么解析xml那是那边的事了。。。
就是传两个字符串过去呗?
不懂你说的传两个字符串过去是什么意思,为什么会有两个字符串..我看了一些网上httpClient的例子,都是直接传xml字符串的,所以不是很清楚post的参数fromdata怎么传,难道是这样:NameValuePair fromdata=new NameValuePair("fromdata",xml字符串);?还是哪样?
你说的我也有点晕了。
我说的两个字符串是一个参数,一个xml字符串的意思。。
莫非单传一个xml文件过去就可以了?
NameValuePair fromdata=new NameValuePair("fromdata",xml字符串);
通过NameValuePair 这样也是添加多参的。
#45
不是传xml文件,应该就是传xml格式的字符串,只不过给这个字符串加了一个对应的参数fromdata,,但是我这样做了以后验证那边的页面收不到我的xml字符串,是NameValuePair fromdata=new NameValuePair("fromdata",xml字符串);不对么?我贴下代码吧,实在是搞不懂..
PostMethod pm=new PostMethod(url);
NameValuePair fromdata=new NameValuePair("fromdata",data);
pm.setRequestBody(new NameValuePair[]{fromdata});
pm.setRequestHeader("Content-type","text/xml;charset=utf-8");
HttpClient httpClient=new HttpClient();
int result=httpClient.executeMethod(pm);
String msg=new String(pm.getResponseBody());
System.out.println(result);
System.out.println(msg);
pm.releaseConnection();
跑起来后,我输入用户名和密码,但是结果那边提示没有输入任何参数,也就是说那边没有接收到xml字符串数据...ps:result值为200
#46
或者是接受到了数据但是因为某种原因,没解析出来,那边肯定不会出错,那就还是这边传数据有问题?
#47
就这样沉了么,求各路大神帮忙啊...
#1
var xmlData = 'xxxxxxxx';
$.ajax({
type: "POST",
data: {fromdata:xmlData},
url: "http://XXXXX/",
dataType: "json", //返回json,也可改为html
async: false,
success: function(json) {
//处理返回结果
},
error: function(data) {
//处理错误
}
});
$.ajax({
type: "POST",
data: {fromdata:xmlData},
url: "http://XXXXX/",
dataType: "json", //返回json,也可改为html
async: false,
success: function(json) {
//处理返回结果
},
error: function(data) {
//处理错误
}
});
#2
js 处理XML功能还不完善。推荐使用json
#3
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
function check(f) {
var xml = '<?xml version="1.0" encoding="UTF-8" ?><auth><email>' + f.email.value + '</email><password>' + f.password.value + '</password></auth>';
$.ajax({ url: '动态页地址',
type: 'POST',
data: 'data=' + encodeURIComponent(xml),
dataType: 'xml',
success: function (xmlDoc) {
var retCode = $(xmlDoc).find('retCode').text();
alert(retCode);
},
error: function (xhr) { alert('发生错误!\n' + xhr.responseText); }
});
return false;
}
</script>
</head>
<body>
<form onsubmit="return check(this)">
<INPUT name=email class="inp" id="text" size=15 maxLength=40>
<INPUT name=password type=text1 class="inp" id="text1">
<input type="submit" value="submit" />
</form>
</body>
</html>
#4
post参数fromdata用在哪呢?
#5
那post的参数fromdata用在哪呢?
那post的参数fromdata用在哪呢?
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
function check(f) {
var xml = '<?xml version="1.0" encoding="UTF-8" ?><auth><email>' + f.email.value + '</email><password>' + f.password.value + '</password></auth>';
$.ajax({ url: '动态页地址',
type: 'POST',
data: 'data=' + encodeURIComponent(xml),
dataType: 'xml',
success: function (xmlDoc) {
var retCode = $(xmlDoc).find('retCode').text();
alert(retCode);
},
error: function (xhr) { alert('发生错误!\n' + xhr.responseText); }
});
return false;
}
</script>
</head>
<body>
<form onsubmit="return check(this)">
<INPUT name=email class="inp" id="text" size=15 maxLength=40>
<INPUT name=password type=text1 class="inp" id="text1">
<input type="submit" value="submit" />
</form>
</body>
</html>
那post的参数fromdata用在哪呢?
#6
var xmlData = 'xxxxxxxx';
$.ajax({
type: "POST",
data: {fromdata:xmlData},
url: "http://XXXXX/",
dataType: "json", //返回json,也可改为html
async: false,
success: function(json) {
//处理返回结果
},
error: function(data) {
//处理错误
}
});
那怎样对json解析呢?我主要是获得retCode和retInfo的值
#7
那post的参数fromdata用在哪呢? <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
function check(f) {
var xml = '<?xml version="1.0" encoding="UTF-8" ?><auth><email>' + f.email.value + '</email><password>' + f.password.value + '</password></auth>';
$.ajax({ url: '动态页地址',
type: 'POST',
data: 'data=' + encodeURIComponent(xml),
dataType: 'xml',
success: function (xmlDoc) {
var retCode = $(xmlDoc).find('retCode').text();
alert(retCode);
},
error: function (xhr) { alert('发生错误!\n' + xhr.responseText); }
});
return false;
}
</script>
</head>
<body>
<form onsubmit="return check(this)">
<INPUT name=email class="inp" id="text" size=15 maxLength=40>
<INPUT name=password type=text1 class="inp" id="text1">
<input type="submit" value="submit" />
</form>
</body>
</html>
那post的参数fromdata用在哪呢?
晕,不都给你示例了。。要自己组合,那个别人只是说明性的
#8
那post的参数fromdata用在哪呢? <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
function check(f) {
var xml = '<?xml version="1.0" encoding="UTF-8" ?><auth><email>' + f.email.value + '</email><password>' + f.password.value + '</password></auth>';
$.ajax({ url: '动态页地址',
type: 'POST',
data: 'data=' + encodeURIComponent(xml),
dataType: 'xml',
success: function (xmlDoc) {
var retCode = $(xmlDoc).find('retCode').text();
alert(retCode);
},
error: function (xhr) { alert('发生错误!\n' + xhr.responseText); }
});
return false;
}
</script>
</head>
<body>
<form onsubmit="return check(this)">
<INPUT name=email class="inp" id="text" size=15 maxLength=40>
<INPUT name=password type=text1 class="inp" id="text1">
<input type="submit" value="submit" />
</form>
</body>
</html>
那post的参数fromdata用在哪呢?
晕,不都给你示例了。。要自己组合,那个别人只是说明性的
我是把data中的data=换成参数fromdata的,应该是这样的吧,但是最后结果是显示发生错误,并且没有xhr.responseText信息...
#9
data: '
fromdata=' + encodeURIComponent(xml),
这样就行了
这样就行了
#10
data: ' fromdata=' + encodeURIComponent(xml),
这样就行了
我是这样改的但是最后结果是“发生错误”,而且没有xhr.responseText信息返回,不知道哪里有问题...
#11
动态页设置了contexttype为text/xml了吗
不行将dataType改为html试试
不行将dataType改为html试试
#12
动态页设置了contexttype为text/xml了吗
不行将dataType改为html试试
改为html的话,会有提示框,但是提示框里没有内容...
#13
function check(f) {
var xml = '<?xml version="1.0" encoding="UTF-8" ?><auth><email>' + f.email.value + '</email><password>' + f.password.value + '</password></auth>';
$.ajax({ url: '动态页地址',
type: 'POST',
data: 'fromdata=' + encodeURIComponent(xml),
dataType: 'html',
success: function (xmlDoc) {
alert(xmlDoc)//看输出什么,如果没有输出就是你的动态页有问题,没有返回内容
var retCode = $(xmlDoc).find('retCode').text();
alert(retCode);
},
error: function (xhr) { alert('发生错误!\n' + xhr.responseText); }
});
return false;
}
var xml = '<?xml version="1.0" encoding="UTF-8" ?><auth><email>' + f.email.value + '</email><password>' + f.password.value + '</password></auth>';
$.ajax({ url: '动态页地址',
type: 'POST',
data: 'fromdata=' + encodeURIComponent(xml),
dataType: 'html',
success: function (xmlDoc) {
alert(xmlDoc)//看输出什么,如果没有输出就是你的动态页有问题,没有返回内容
var retCode = $(xmlDoc).find('retCode').text();
alert(retCode);
},
error: function (xhr) { alert('发生错误!\n' + xhr.responseText); }
});
return false;
}
#14
function check(f) {
var xml = '<?xml version="1.0" encoding="UTF-8" ?><auth><email>' + f.email.value + '</email><password>' + f.password.value + '</password></auth>';
$.ajax({ url: '动态页地址',
type: 'POST',
data: 'fromdata=' + encodeURIComponent(xml),
dataType: 'html',
success: function (xmlDoc) {
alert(xmlDoc)//看输出什么,如果没有输出就是你的动态页有问题,没有返回内容
var retCode = $(xmlDoc).find('retCode').text();
alert(retCode);
},
error: function (xhr) { alert('发生错误!\n' + xhr.responseText); }
});
return false;
}
什么也没有,
但是我如果直接打开动态页网址的话,有相应的信息。因为用的是学校的邮箱验证,如果直接打开动态页网址,会显示输入不能为空。
#15
url到底是什么?跨域了没有。。
跨域请求不行
跨域请求不行
#16
url到底是什么?跨域了没有。。
跨域请求不行
url:http://software.nju.edu.cn:8000/api/auth/user/
跨域了应该怎么弄?
#17
跨域了就要再自己的站点做个代理页面,用服务器端的xhr发送数据请求跨域页面获取返回的输出后输出,ajax请求代理页面,不能直接请求跨域的那个页面,安全问题不允许直接请求跨域的页面
#18
跨域了就要再自己的站点做个代理页面,用服务器端的xhr发送数据请求跨域页面获取返回的输出后输出,ajax请求代理页面,不能直接请求跨域的那个页面,安全问题不允许直接请求跨域的页面
服务器端是指?
#19
跨域了就要再自己的站点做个代理页面,用服务器端的xhr发送数据请求跨域页面获取返回的输出后输出,ajax请求代理页面,不能直接请求跨域的那个页面,安全问题不允许直接请求跨域的页面
代理页面能不能给个实例啊,这个实在是不懂...
#20
jsp不会了,帮你移动到java版块去
#21
jsp中读is流(包含xml信息)
/**
* 获取指定省份的城市列表
* 返回Map<城市名,城市气象id>
* @throws IOException
*/
public Map<String, String> getCityMap(String provincename) throws IOException {
InputStream cityXml = null;
Map<String,String> citymap=null;
try {
cityXml = dao.getCityXml(provincename);
citymap=new HashMap<String,String>();
SAXReader sr = new SAXReader();// 获取读取xml的对象。
Document document;
document = sr.read(cityXml);
Element root = document.getRootElement();
List<?> elementlist = root.elements("city");
for (Object obj : elementlist) {
Element row = (Element) obj;
String cityname = row.attribute("cityname").getText();
String cityid =row.attribute("url").getText();
citymap.put(cityname,cityid);
}
return citymap;
} catch (DocumentException e) {
Log.e(this.toString(), "document Error");
}
return null;
}
#22
jsp不会了,帮你移动到java版块去
那先谢谢版主了
#23
jsp中读is流(包含xml信息)
/**
* 获取指定省份的城市列表
* 返回Map<城市名,城市气象id>
* @throws IOException
*/
public Map<String, String> getCityMap(String provincename) throws IOException {
InputStream cityXml = null;
Map<String,String> citymap=null;
try {
cityXml = dao.getCityXml(provincename);
citymap=new HashMap<String,String>();
SAXReader sr = new SAXReader();// 获取读取xml的对象。
Document document;
document = sr.read(cityXml);
Element root = document.getRootElement();
List<?> elementlist = root.elements("city");
for (Object obj : elementlist) {
Element row = (Element) obj;
String cityname = row.attribute("cityname").getText();
String cityid =row.attribute("url").getText();
citymap.put(cityname,cityid);
}
return citymap;
} catch (DocumentException e) {
Log.e(this.toString(), "document Error");
}
return null;
}
没懂你意思,和我的问题有关?
#24
jsp中读is流(包含xml信息)
/**
* 获取指定省份的城市列表
* 返回Map<城市名,城市气象id>
* @throws IOException
*/
public Map<String, String> getCityMap(String provincename) throws IOException {
InputStream cityXml = null;
Map<String,String> citymap=null;
try {
cityXml = dao.getCityXml(provincename);
citymap=new HashMap<String,String>();
SAXReader sr = new SAXReader();// 获取读取xml的对象。
Document document;
document = sr.read(cityXml);
Element root = document.getRootElement();
List<?> elementlist = root.elements("city");
for (Object obj : elementlist) {
Element row = (Element) obj;
String cityname = row.attribute("cityname").getText();
String cityid =row.attribute("url").getText();
citymap.put(cityname,cityid);
}
return citymap;
} catch (DocumentException e) {
Log.e(this.toString(), "document Error");
}
return null;
}
没懂你意思,和我的问题有关?
jsp是不是就是一个servlet?
servlet中是不是可以运行java代码?
这个java代码是不是可以把返回的流解析成xml对象?
#25
jsp中读is流(包含xml信息)
/**
* 获取指定省份的城市列表
* 返回Map<城市名,城市气象id>
* @throws IOException
*/
public Map<String, String> getCityMap(String provincename) throws IOException {
InputStream cityXml = null;
Map<String,String> citymap=null;
try {
cityXml = dao.getCityXml(provincename);
citymap=new HashMap<String,String>();
SAXReader sr = new SAXReader();// 获取读取xml的对象。
Document document;
document = sr.read(cityXml);
Element root = document.getRootElement();
List<?> elementlist = root.elements("city");
for (Object obj : elementlist) {
Element row = (Element) obj;
String cityname = row.attribute("cityname").getText();
String cityid =row.attribute("url").getText();
citymap.put(cityname,cityid);
}
return citymap;
} catch (DocumentException e) {
Log.e(this.toString(), "document Error");
}
return null;
}
没懂你意思,和我的问题有关?
jsp是不是就是一个servlet?
servlet中是不是可以运行java代码?
这个java代码是不是可以把返回的流解析成xml对象?
我现在不是要解析xml,而是要把数据以xml格式提交给一个url,因为是跨域的,所以需要弄个jsp作为代理,但是不知道应该怎样操作...
#26
jsp中读is流(包含xml信息)
/**
* 获取指定省份的城市列表
* 返回Map<城市名,城市气象id>
* @throws IOException
*/
public Map<String, String> getCityMap(String provincename) throws IOException {
InputStream cityXml = null;
Map<String,String> citymap=null;
try {
cityXml = dao.getCityXml(provincename);
citymap=new HashMap<String,String>();
SAXReader sr = new SAXReader();// 获取读取xml的对象。
Document document;
document = sr.read(cityXml);
Element root = document.getRootElement();
List<?> elementlist = root.elements("city");
for (Object obj : elementlist) {
Element row = (Element) obj;
String cityname = row.attribute("cityname").getText();
String cityid =row.attribute("url").getText();
citymap.put(cityname,cityid);
}
return citymap;
} catch (DocumentException e) {
Log.e(this.toString(), "document Error");
}
return null;
}
没懂你意思,和我的问题有关?
jsp是不是就是一个servlet?
servlet中是不是可以运行java代码?
这个java代码是不是可以把返回的流解析成xml对象?
我现在不是要解析xml,而是要把数据以xml格式提交给一个url,因为是跨域的,所以需要弄个jsp作为代理,但是不知道应该怎样操作...
你的意思是想把xml文件拼接成json串发送?
还是转化成流的方式发送?
#27
jsp中读is流(包含xml信息)
/**
* 获取指定省份的城市列表
* 返回Map<城市名,城市气象id>
* @throws IOException
*/
public Map<String, String> getCityMap(String provincename) throws IOException {
InputStream cityXml = null;
Map<String,String> citymap=null;
try {
cityXml = dao.getCityXml(provincename);
citymap=new HashMap<String,String>();
SAXReader sr = new SAXReader();// 获取读取xml的对象。
Document document;
document = sr.read(cityXml);
Element root = document.getRootElement();
List<?> elementlist = root.elements("city");
for (Object obj : elementlist) {
Element row = (Element) obj;
String cityname = row.attribute("cityname").getText();
String cityid =row.attribute("url").getText();
citymap.put(cityname,cityid);
}
return citymap;
} catch (DocumentException e) {
Log.e(this.toString(), "document Error");
}
return null;
}
没懂你意思,和我的问题有关?
jsp是不是就是一个servlet?
servlet中是不是可以运行java代码?
这个java代码是不是可以把返回的流解析成xml对象?
我现在不是要解析xml,而是要把数据以xml格式提交给一个url,因为是跨域的,所以需要弄个jsp作为代理,但是不知道应该怎样操作...
你的意思是想把xml文件拼接成json串发送?
还是转化成流的方式发送?
我要传的数据类型就是xml,而且必须要是post方法,但是json是get的,因为验证那边的页面要求的是post方式的xml格式数据...
请求码流样例:
要求:
post调用地址:http://software.nju.edu.cn:8000/api/auth/user/
post的参数名称:fromdata
格式为:
<?xml version="1.0" encoding="UTF-8" ?>
<auth>
<email>xx@xx.xx</email>
<password>CY9rzUYh03PK3k6DJie09g==</password>
</auth>
这种要求转化成流可行?
#28
jsp中读is流(包含xml信息)
/**
* 获取指定省份的城市列表
* 返回Map<城市名,城市气象id>
* @throws IOException
*/
public Map<String, String> getCityMap(String provincename) throws IOException {
InputStream cityXml = null;
Map<String,String> citymap=null;
try {
cityXml = dao.getCityXml(provincename);
citymap=new HashMap<String,String>();
SAXReader sr = new SAXReader();// 获取读取xml的对象。
Document document;
document = sr.read(cityXml);
Element root = document.getRootElement();
List<?> elementlist = root.elements("city");
for (Object obj : elementlist) {
Element row = (Element) obj;
String cityname = row.attribute("cityname").getText();
String cityid =row.attribute("url").getText();
citymap.put(cityname,cityid);
}
return citymap;
} catch (DocumentException e) {
Log.e(this.toString(), "document Error");
}
return null;
}
没懂你意思,和我的问题有关?
jsp是不是就是一个servlet?
servlet中是不是可以运行java代码?
这个java代码是不是可以把返回的流解析成xml对象?
我现在不是要解析xml,而是要把数据以xml格式提交给一个url,因为是跨域的,所以需要弄个jsp作为代理,但是不知道应该怎样操作...
你的意思是想把xml文件拼接成json串发送?
还是转化成流的方式发送?
我要传的数据类型就是xml,而且必须要是post方法,但是json是get的,因为验证那边的页面要求的是post方式的xml格式数据...
请求码流样例:
要求:
post调用地址:http://software.nju.edu.cn:8000/api/auth/user/
post的参数名称:fromdata
格式为:
<?xml version="1.0" encoding="UTF-8" ?>
<auth>
<email>xx@xx.xx</email>
<password>CY9rzUYh03PK3k6DJie09g==</password>
</auth>
这种要求转化成流可行?
我在做*气象台的接口的时候,从url对象中获取返回流,就是xml格式的。
我们写的字符串其实也是以流的形式来发送的,不是么?
#29
那你的意思是写个Servlet接受我写的login.jsp的数据,在装成xml格式,以流的形式发送给验证的那个页面?
但是servlet中怎样标志这是一段xml文件呢?不能标志的话,验证页面是检测不了的,要求就是这样的...
#30
那你的意思是写个Servlet接受我写的login.jsp的数据,在装成xml格式,以流的形式发送给验证的那个页面?
但是servlet中怎样标志这是一段xml文件呢?不能标志的话,验证页面是检测不了的,要求就是这样的...
要么你想怎么发送信息?
所有的信息都是包装到流里面的,接受页面肯定也会默认的去解析这个流,读出其中的信息。
另外,login.jsp编译之后就等于servlet,这不叫接受。
你的要求说白了,就是给服务端发送一段xml格式的文字,对么?
#31
那你的意思是写个Servlet接受我写的login.jsp的数据,在装成xml格式,以流的形式发送给验证的那个页面?
但是servlet中怎样标志这是一段xml文件呢?不能标志的话,验证页面是检测不了的,要求就是这样的...
要么你想怎么发送信息?
所有的信息都是包装到流里面的,接受页面肯定也会默认的去解析这个流,读出其中的信息。
另外,login.jsp编译之后就等于servlet,这不叫接受。
你的要求说白了,就是给服务端发送一段xml格式的文字,对么?
是的,应该怎么处理?希望能有点代码参考下
#32
那你的意思是写个Servlet接受我写的login.jsp的数据,在装成xml格式,以流的形式发送给验证的那个页面?
但是servlet中怎样标志这是一段xml文件呢?不能标志的话,验证页面是检测不了的,要求就是这样的...
要么你想怎么发送信息?
所有的信息都是包装到流里面的,接受页面肯定也会默认的去解析这个流,读出其中的信息。
另外,login.jsp编译之后就等于servlet,这不叫接受。
你的要求说白了,就是给服务端发送一段xml格式的文字,对么?
是的,应该怎么处理?希望能有点代码参考下
我感觉应该是类似下面这样的吧?
public void sendXmlTest() throws Exception {
// 通过类装载器装载XML资源
InputStream inputStream = this.getClass().getClassLoader()
.getResourceAsStream("test.xml");
byte[] xml = input2byte(inputStream);
String path = "http://172.22.35.112:8080/videonews/GetXmlInfo";
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setConnectTimeout(5000);
conn.setDoOutput(true);
// 设置HTTP请求的头字段
conn.setRequestProperty("Content-Type", "text/xml; charset=UTF-8"); // 内容类型
conn.setRequestProperty("Content-Length", String.valueOf(xml.length)); // 实体内容的长度
conn.getOutputStream().write(xml);
if (conn.getResponseCode() == 200) {
System.out.println("发送成功!");
} else {
System.out.println("发送失败!");
}
}
public static final byte[] input2byte(InputStream inStream)
throws IOException {
ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
byte[] buff = new byte[100];
int rc = 0;
while ((rc = inStream.read(buff, 0, 100)) > 0) {
swapStream.write(buff, 0, rc);
}
byte[] in2b = swapStream.toByteArray();
return in2b;
}
#33
类装载器装载xml资源是通过路径读取xml文件吧,但是我这应该是不用读取xml文件的,应该是xml格式的String,不过注明是xml类型的,这样行不行?
#34
类装载器装载xml资源是通过路径读取xml文件吧,但是我这应该是不用读取xml文件的,应该是xml格式的String,不过注明是xml类型的,这样行不行?
我这是安卓的,所以通过类加载器去找。。
你的xml文件在哪里呢?
这个问题,如果只是字符串的话,把字符串转化为为inputstream流你应该会吧?
#35
类装载器装载xml资源是通过路径读取xml文件吧,但是我这应该是不用读取xml文件的,应该是xml格式的String,不过注明是xml类型的,这样行不行?
我这是安卓的,所以通过类加载器去找。。
你的xml文件在哪里呢?
这个问题,如果只是字符串的话,把字符串转化为为inputstream流你应该会吧?
难道不可以直接把String转换为byte么...
还有一个问题是post有一个参数,这个应该怎么传?
#36
类装载器装载xml资源是通过路径读取xml文件吧,但是我这应该是不用读取xml文件的,应该是xml格式的String,不过注明是xml类型的,这样行不行?
我这是安卓的,所以通过类加载器去找。。
你的xml文件在哪里呢?
这个问题,如果只是字符串的话,把字符串转化为为inputstream流你应该会吧?
难道不可以直接把String转换为byte么...
还有一个问题是post有一个参数,这个应该怎么传?
当然可以了。我只是不习惯改动方法的输入参数而已。。这个方法的输入参数应该是inputstream。
可以的话建议使用httpClient
这样就可以创建多个NameValuePair对象保存值了。。
http://www.oschina.net/code/snippet_1434_1032
这个你看下
#37
类装载器装载xml资源是通过路径读取xml文件吧,但是我这应该是不用读取xml文件的,应该是xml格式的String,不过注明是xml类型的,这样行不行?
我这是安卓的,所以通过类加载器去找。。
你的xml文件在哪里呢?
这个问题,如果只是字符串的话,把字符串转化为为inputstream流你应该会吧?
难道不可以直接把String转换为byte么...
还有一个问题是post有一个参数,这个应该怎么传?
当然可以了。我只是不习惯改动方法的输入参数而已。。这个方法的输入参数应该是inputstream。
可以的话建议使用httpClient
这样就可以创建多个NameValuePair对象保存值了。。
http://www.oschina.net/code/snippet_1434_1032
这个你看下
想问下那个网页的代码中:PostMethod post = new PostMethod("/simcard.php");
simcard.php是指哪个页面?
#38
还有就是我的post参数是应该加在 NameValuePair simcard = new NameValuePair("simcard","1330227");
的哪个位置?是前面的"simcard"改为"fromdata",还是"1330227"改为"fromdata="+xml字符串?
#39
类装载器装载xml资源是通过路径读取xml文件吧,但是我这应该是不用读取xml文件的,应该是xml格式的String,不过注明是xml类型的,这样行不行?
我这是安卓的,所以通过类加载器去找。。
你的xml文件在哪里呢?
这个问题,如果只是字符串的话,把字符串转化为为inputstream流你应该会吧?
难道不可以直接把String转换为byte么...
还有一个问题是post有一个参数,这个应该怎么传?
当然可以了。我只是不习惯改动方法的输入参数而已。。这个方法的输入参数应该是inputstream。
可以的话建议使用httpClient
这样就可以创建多个NameValuePair对象保存值了。。
http://www.oschina.net/code/snippet_1434_1032
这个你看下
想问下那个网页的代码中:PostMethod post = new PostMethod("/simcard.php");
simcard.php是指哪个页面?
它前面加了域名了和协议以及端口号了
client.getHostConfiguration().setHost("www.imobile.com.cn", 80, "http");
这方法等于添加地址。拼接起来的话应该是
http://www.imobile.com.cn/simcard.php
#40
还有就是我的post参数是应该加在 NameValuePair simcard = new NameValuePair("simcard","1330227");
的哪个位置?是前面的"simcard"改为"fromdata",还是"1330227"改为"fromdata="+xml字符串?
我晕了。那边是xml形式接受的,xml外面还得包含一个参数?
还是就是传2个字符串的值过去,一个值是参数,一个值是xml字符串?
#41
还有就是我的post参数是应该加在 NameValuePair simcard = new NameValuePair("simcard","1330227");
的哪个位置?是前面的"simcard"改为"fromdata",还是"1330227"改为"fromdata="+xml字符串?
我晕了。那边是xml形式接受的,xml外面还得包含一个参数?
还是就是传2个字符串的值过去,一个值是参数,一个值是xml字符串?
1.client.getHostConfiguration().setHost(url)貌似也可以?如果里面是url,那么PostMethod post = new PostMethod("/simcard.php");应该怎么写,难道括号里为空?
2.应该是有一个参数叫fromdata,这个参数的值为一个xml字符串,然后验证页面那边读取参数fromdata的值...
#42
还有就是我的post参数是应该加在 NameValuePair simcard = new NameValuePair("simcard","1330227");
的哪个位置?是前面的"simcard"改为"fromdata",还是"1330227"改为"fromdata="+xml字符串?
我晕了。那边是xml形式接受的,xml外面还得包含一个参数?
还是就是传2个字符串的值过去,一个值是参数,一个值是xml字符串?
1.client.getHostConfiguration().setHost(url)貌似也可以?如果里面是url,那么PostMethod post = new PostMethod("/simcard.php");应该怎么写,难道括号里为空?
2.应该是有一个参数叫fromdata,这个参数的值为一个xml字符串,然后验证页面那边读取参数fromdata的值...
我哭了。你那就是字符串嘛。至于怎么解析xml那是那边的事了。。。
就是传两个字符串过去呗?
#43
我哭了。你那就是字符串嘛。至于怎么解析xml那是那边的事了。。。
就是传两个字符串过去呗?
不懂你说的传两个字符串过去是什么意思,为什么会有两个字符串..我看了一些网上httpClient的例子,都是直接传xml字符串的,所以不是很清楚post的参数fromdata怎么传,难道是这样:NameValuePair fromdata=new NameValuePair("fromdata",xml字符串);?还是哪样?
#44
我哭了。你那就是字符串嘛。至于怎么解析xml那是那边的事了。。。
就是传两个字符串过去呗?
不懂你说的传两个字符串过去是什么意思,为什么会有两个字符串..我看了一些网上httpClient的例子,都是直接传xml字符串的,所以不是很清楚post的参数fromdata怎么传,难道是这样:NameValuePair fromdata=new NameValuePair("fromdata",xml字符串);?还是哪样?
你说的我也有点晕了。
我说的两个字符串是一个参数,一个xml字符串的意思。。
莫非单传一个xml文件过去就可以了?
NameValuePair fromdata=new NameValuePair("fromdata",xml字符串);
通过NameValuePair 这样也是添加多参的。
#45
不是传xml文件,应该就是传xml格式的字符串,只不过给这个字符串加了一个对应的参数fromdata,,但是我这样做了以后验证那边的页面收不到我的xml字符串,是NameValuePair fromdata=new NameValuePair("fromdata",xml字符串);不对么?我贴下代码吧,实在是搞不懂..
PostMethod pm=new PostMethod(url);
NameValuePair fromdata=new NameValuePair("fromdata",data);
pm.setRequestBody(new NameValuePair[]{fromdata});
pm.setRequestHeader("Content-type","text/xml;charset=utf-8");
HttpClient httpClient=new HttpClient();
int result=httpClient.executeMethod(pm);
String msg=new String(pm.getResponseBody());
System.out.println(result);
System.out.println(msg);
pm.releaseConnection();
跑起来后,我输入用户名和密码,但是结果那边提示没有输入任何参数,也就是说那边没有接收到xml字符串数据...ps:result值为200
#46
或者是接受到了数据但是因为某种原因,没解析出来,那边肯定不会出错,那就还是这边传数据有问题?
#47
就这样沉了么,求各路大神帮忙啊...