AJAX结合JSON在火狐下可以,但是IE下不行
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>MyHtml.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="json2.js"></script>
<script type="text/javascript">
var xmlHttp;
function doJson()
{
var cars = new car("奔驰","SLCAR00004500",50000);
var carAsJson=JSON.stringify(cars);
alert("Car object as json:\n"+carAsJson);
var url ="JSONExample?timeStamp="+new Date().getTime();
createXMLHttpRequest();
xmlHttp.open("POST",url,true);
xmlHttp.onreadystatechange=handleStateChange;
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.send(carAsJson);
}
function car(carname,carno,carprice)
{
this.carName=carname;
this.carNo=carno;
this.carPrice=carprice;
}
function createXMLHttpRequest()
{
if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();
}
if(window.ActiveXObject)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
function handleStateChange()
{
if(xmlHttp.readyState ==4 && xmlHttp.status==200)
{
parseResult();
}
}
function parseResult()
{
var responseDiv = document.getElementById("serverResponse");
if(responseDiv.hasChildNodes())
{
responseDiv.removeChild(responseDiv.childNodes[0]);
}
var responseText = document.createTextNode(xmlHttp.responseText);
responseDiv.appendChild(responseText);
}
</script>
</head>
<body>
<form action="#">
<input type="button" name="button" value="show Json" onclick="doJson()" />
</form>
<h2>Server response:</h2>
<div id="serverResponse"></div>
</body>
</html>
package com.suning.study.ajax.servlet;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.JSONException;
import org.json.JSONObject;
@SuppressWarnings("serial")
public class AjaXDemo extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String json = readJsonStringFromRequest(request);
JSONObject obj=null;
String responseText ="";
try {
obj=new JSONObject(json);
responseText="The car is a car[carName:"+obj.getString("carName")+",carNo:"+obj.getString("carNo")
+",carPrice:"+obj.getDouble("carPrice")+"]";
} catch (JSONException e) {
e.printStackTrace();
}
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.print(responseText);
}
private String readJsonStringFromRequest(HttpServletRequest request) {
StringBuffer buffer = new StringBuffer();
String line = "";
try {
BufferedReader reader = request.getReader();
while ((line=reader.readLine())!=null) {
buffer.append(line);
}
} catch (IOException e) {
e.printStackTrace();
}
return buffer.toString();
}
}
望大侠们帮小弟看看
相关推荐
IE9版本以下ajax 跨域问题可行解决方法
ajax跨域请求数据在谷歌火狐我本地IE11都是没问题的。 让测试就发现问题了,IE8下请求不到数据,然后我查看一下自己写的js看有没有不兼容问题,可是都没有啊,为什么就请求不到呢。 我把ajax的error打印出来提示no transport,网上找了资料在js中第一行加这个就可以了jQuery.support.cors = true; 好了这个问题没有了,可是又有另一个error没有权限。这个问题百度了好多都没有我想要的,最后看了一篇文章让我豁然开朗这是IE浏览器的安全性设置问题, 解决方法如下:点击IE浏览器的的“工具->Internet 选项->安全->自定义级别”将“其他”选项中的“
json2 ajax返回list处理 在jsp页面 遍历
json2 ajax返回list处理 在jsp页面 遍历
级联下拉框(支持火狐和IE)
经过自己调整的 虽然不是类么的完美,但自己感觉还行
IE9 IE8 ajax跨域问题的快速解决方法
网上解决办法均是 在发起请求之前添加 jQuery.support.cors=true;但是,线下测试,是ok的,一放到服务器上,又出现了新的eroor:readyState: 0, status: 0, statusText: “Error: 拒绝访问… 最后,问题是这样解决的,点击IE浏览器的的“工具->Internet 选项->安全->自定义级别”将“其他”选项中的“通过域访问数据源”选中为“启用”或者“提示”,点击确定就可以了。呵呵。。。。。。 以上这篇IE9 IE8 ajax跨域问题的快速解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
强制IE显示Json
在开发过程中,解决IE浏览器不能显示Json格式的问题。


