在firefox 浏览器下用Prototype AJAX调用servlet的方法,有时可调用但有时不能调用!代码,输入数据和顺序都没有变,但执行10次大概随机有2次调用不了,像random()一样不稳定快疯啦,在IE好像没有这个问题,请大虾们帮忙分析一下可能出现的情况,分不够再加
JavaScript内:
function saveData(param)
{
var con = new Ajax.Request('/SubmitServlet',
{
method: 'get',
encoding: 'UTF-8',
parameters : { action: 'saveDataServlet',pi_id: param},
onSuccess: function(transport)
{
var response = transport.responseText || "no response";
if(response.match("true"))
{
alert("success");
}
},
onFailure: function()
{}
});
}SubmitServlet内:
public void doGet(HttpServletRequest request, HttpServletResponse resp)throws IOException
{
static Logger logger = Logger.getLogger(SubmitServlet.class);
if(action.equals("saveDataServlet"))
{logger.info("in saveDataServlet");}
}
JavaScript内:
function saveData(param)
{
var con = new Ajax.Request('/SubmitServlet',
{
method: 'get',
encoding: 'UTF-8',
parameters : { action: 'saveDataServlet',pi_id: param},
onSuccess: function(transport)
{
var response = transport.responseText || "no response";
if(response.match("true"))
{
alert("success");
}
},
onFailure: function()
{}
});
}SubmitServlet内:
public void doGet(HttpServletRequest request, HttpServletResponse resp)throws IOException
{
static Logger logger = Logger.getLogger(SubmitServlet.class);
if(action.equals("saveDataServlet"))
{logger.info("in saveDataServlet");}
}
還有用Http Monitor看看每次的執行狀況吧。
JavaScript内:
function callSaveData(param)
{
saveData(param);
window.location=chineseDomain+"Success.jsp?id="+param;//若不跳转的话100%可以调用
}另外,我公司的电脑不能随便安装软件,抓包和用Http Monitor都要安装软件吧?有没有其他方法?
同步:浏览器等待ajax执行,等ajax请求返回后才执行后面的代码;
异步:不论ajax执行情况如何,都直接去执行后面的代码
同步 - asynchronous: false
异步 - asynchronous: true