gpt4 book ai didi

java - jquery ajax-从函数获取响应字符串

转载 作者:行者123 更新时间:2023-12-01 11:27:54 25 4
gpt4 key购买 nike

我无法从 java 函数获取 ajax 调用的字符串响应。我正在使用 structs2 。我写了一个返回字符串的java函数。该功能工作正常。但ajax调用中出现一些未知错误。

以下是我的 jquery ajax 调用

<pre>
function saveMyId(){
$.ajax({
url : contextPath+'/action/setMyId',
data: {
myCode:$("#myCode").val(),
myId:$("#myId").val()
},
type : 'post',
async: false,
success : function(data) {
alert(data);
if(data=="success"){
$( "#dialog" ).dialog("close");
$('#myId_Validator').text("");
}
else{
$("#myId").val("");
$("#myId_Validator").val("ID Already exists. Please Choose different one")
}
},
error: function (request, status, error) {
alert("Something went wrong. Please try again later");
}
});

我的java函数是

public String setMyId() throws SQLException {
IdAllocationVO idAllocationVO = new IdAllocationVO();
MyIdServices myIdServices = new MyIdServices();
logger.debug("set My Id , myCode :"+this.myCode);
idAllocationVO.setMyCode(myCode);
idAllocationVO.setMyId(myId);
int response= myIdServices.getMyIdCount(myId);
System.out.println("response:"+response);
if(response==0){
myIdServices.setSenderId(idAllocationVO);
return "success";
}
else{
return "fail";
}
}

我正在使用结构2structs.xml 标签是

<action name="setMyId" class="com.id.myIsservice.struts.IdAction" method="setMyId">
</action>

函数 setMyId() 工作正常。我通过打印每一行来检查一切。但我的问题是 ajax 调用得到的结果是错误的。因此它会发出错误消息“出现问题。请稍后再试”。为什么会这样?

最佳答案

您可以尝试使用三个步骤来查找原因:1、你的ajax调用是否正确? firebug或者其他page dubugger可以给你展示~2、当第一步正确后,检查java函数是否获取到页面的请求并返回正确的结果给页面 IDE调试工具来帮助你~3、查看分页得到了什么结果 通过firebug可以看到响应的详细信息,比如'status'等等...,看看字符串是否已经获取到了~

PS:我明白了,你的java代码直接抛出异常而不使用try/catch。这对用户的使用来说不是一个好方法~我建议你添加try/catch代码,这样也许可以帮助你更快地发现错误~

关于java - jquery ajax-从函数获取响应字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30659836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com