Form 提交成功,Ajax提交失败

蔡小峰 发布于 2014/01/02 23:48
阅读 2K+
收藏 2

现在在做一个项目,使用的是别的公司提供的接口,通过url 传递参数,人家返回xml

例如:http://www.apabi.com/apabi/mobile.mvc?api=signin&uid=zhangsan&pwd=MTIzNDU2

通过 form 表单提交的时候,效果和访问 上面的url 效果一样,跳到新页面,显示:


<form method="get" action="HTTP://www.apabi.com/apabi/mobile.mvc">
	<input type="hidden" name="api" value="signin">
   账号:<input type="text" name="uid" id="username">
   密码:<input type="password" name="pwd" id="password">
   <input type="submit" value ="提交" onclick="checkUsr()" >
</form>



“<Return Code="-1000" Message="对不起,用户名或密码错误,请您重新输入"/>”


这应该是一个xml文件。

但是Ajax 提交的时候,返回的msg是空的:


var url= "http://www.apabi.com/apabi/mobile.mvc";
$.ajax({ 
	type:'GET',
	url:url, 
	data:'api=signin&uid=zhangsan&pwd=MTIzNDU2',
	success:function(msg) { 
		console.log("msg")
 		alert(msg);
 	}
 })


查看Ajax控制台:返回的数字是200,说明请求是ok的。


GET http://www.apabi.com/apabi/mobile.mvc?api=signin&uid=zhangsan&pwd=MTIzNDU2   
200 OK

779ms


但是报没办法解析xml:

请问有没办法,使用Ajax获取到表单提交的返回结果?

加载中
2
JPer
JPer
跨域了吧,用ajax的jsonp吧
蔡小峰
蔡小峰
跨域只能使用JSONP来实现,或者通过服务器端获取。Ajax无法直接跨域。
蔡小峰
蔡小峰
但是人家那边没有使用jsoup。没办法改变。
0
滔哥
滔哥
GET 为嘛不用POST
蔡小峰
蔡小峰
这个api 说的是要用get
0
leo108
leo108

跨域了吧

蔡小峰
蔡小峰
嗯,是的
0
傲罗
傲罗
加个
dataType: "xml"

试试

另外 console.log("msg") 应该是 console.log(msg)

0
山下狮子
山下狮子
ajax写的不标准啊,找个标准的对照下看看
0
supperman
supperman
ajax无法跨域~!只能通过后台调用这个服务,然后代理成本站的~!
0
Tuesday
Tuesday
还是ie开发者工具比较人性化, 会直接提示你无法获取跨域数据.
蔡小峰
蔡小峰
是啊,我就喜欢ie的左下角小黄感叹号报错。
返回顶部
顶部