静态页面(html)直接调用action
来源:互联网 发布:手机秘密录音软件 编辑:程序博客网 时间:2024/06/01 08:15
测试环境:
后台框架:
Spring 3.0.5、Struts 2.3.8
浏览器:IE 8.0.7600.16385、Chrome 28.0.1500.72 m、Safari(win7) 5.1.7(7534.57.2)、Firefox 22.0
使用html采用ajax方式直接调用action存在以下两个问题:
1、除IE外其他浏览器访问后台action都会出现跨域操作错误:
[XMLHttpRequest] cannot load http://localhost:8080/Struts2JsonAjaxTest/jsonAjax.action. Origin null is not allowed by Access-Control-Allow-Origin.
解决方法是:在被调用中的action中声明允许跨域操作,即:
[ServletActionContext].getResponse().addHeader("Access-Control-Allow-Origin", "*") ;
2、使用jQuery封装的$.ajax方法调用后台action时,其他浏览器都可以,IE8访问不到后台(初步查找引起原因是IE8提供的原生json支持,未确认)
解决方法是:使用js原生ajax写法,具体写法详见json2.html
注:另外测试了iPhone 4S、iPad 3、Android手机和pad各一个,全部都能正常运行。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>测试</title><script type="text/javascript">function ajax(){ xmlHttp=GetXmlHttpObject() if (xmlHttp==null) { alert ("您的浏览器不支持AJAX!"); return; }var url="http://localhost:8080/Struts2JsonAjaxTest/jsonAjax.action"xmlHttp.onreadystatechange=stateChanged;xmlHttp.open("POST",url,true);xmlHttp.send(null);}function GetXmlHttpObject(){ var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp;}function stateChanged() { if (xmlHttp.readyState==4) { var json = xmlHttp.responseText; alert(json);var jsonobj=eval('('+json+')');//单个JSON对象时要加括号,JSON数组就不需要了 alert(jsonobj.result); }} </script></head><body> <span>姓名:</span><input id="xm" type="text"> <br/> <span>身高:</span><input id="sg" type="text"> <br/> <input type="button" value="提交" id="tj" onclick="ajax()"></body></html>
- 静态页面(html)直接调用action
- Jeecms网站直接访问html静态页面
- TDC----实现静态页面的动态操作(HTML直接调用TXT文本文件)
- TDC----实现静态页面的动态操作(HTML直接调用TXT文本文件)
- 如何在JSP页面中直接调用Action
- 拦截action直接进入页面
- 超链接href直接调用action
- 读取静态页面(HTML)
- html静态页面跳转
- html静态页面跳转
- HTML静态页面
- PHP代码为什么不能直接保存HTML文件——>PHP生成静态页面教程
- 静态页面模板,比较不错的网站,效果比较多,html代码可以直接下载即可
- html meta 直接跳转页面
- html meta 直接跳转页面
- html静态页面引入公共html页面
- html静态页面引入公共html页面
- html静态页面引入公共html页面
- Android四大组件之Content Provider
- Android取消EditText自动获取焦点默认行为
- c语言/iso/javaScript书籍推荐
- SQLiteLog (1) no such Column:
- POJ 2289 - Jamie's Contact Groups 二分+二分图的多重匹配
- 静态页面(html)直接调用action
- listview layou_width=wrap_content 占满屏
- 模板类参数中嵌套模板类问题
- 应用程序命名规则
- 分享一个CSS3介绍网址
- jsp加载activex
- oracle学习笔记(7)_伪列
- Ubuntu下轻巧的代码编辑器——Geany
- iphone/信息系统/c语言书籍推荐