当factoryPIC可以返回空值时,我有这个控制器
@RequestMapping(value = "/PLR/AjaxGetPIC", method = {RequestMethod.GET,RequestMethod.POST})
public @ResponseBody V_PIC_TRIAL_PMFK ajaxGetPIC( HttpServletRequest request,RedirectAttributes ra, Model model) {
String docNo = request.getParameter("npdrDocument");
Gson gson = new Gson();
List<V_SRF> vsrf = plrAdapter.getV_SRFDocNo(docNo);
String docSRF = vsrf.get(0).getPlantCode();
V_PIC_TRIAL_PMFK factoryPIC = plrAdapter.getPICByPlantCode(docSRF);
System.out.println("factoryPIC" +new Gson().toJson(factoryPIC));
model.addAttribute("factoryPIC", factoryPIC);
System.out.println("vsrf" +new Gson().toJson(vsrf));
String json = gson.toJson(vsrf);
return factoryPIC;
}
这是我有的脚本
function factoryPIC(){
$.ajax(
{
type: 'POST',
url: "/MOA2/PLR/AjaxGetPIC/?&npdrDocument="+$("#npdrDocument").val(),
dataType: 'json',
success: function (result) {
if(result == "" || result == null || result == " "){
$("#factoryPIC").val("---");
$("#factoryPICName").val("---");
$("#fLabelName").html("---");
}else{
$("#factoryPIC").val(result.username);
$("#factoryPICName").val(result.name);
$("#fLabelName").html(result.name);
}
}
});
}
如何验证我从控制器获得的返回结果是否为空并在jsp中显示字符串“---”?
答案 0 :(得分:0)
您可以尝试:
function factoryPIC(){
$.ajax(
{
type: 'POST',
url: "/MOA2/PLR/AjaxGetPIC/?&npdrDocument="+$("#npdrDocument").val(),
dataType: 'json',
success: function (result) {
if(!result){
$("#factoryPIC").val("---");
$("#factoryPICName").val("---");
$("#fLabelName").html("---");
}else{
$("#factoryPIC").val(result.username);
$("#factoryPICName").val(result.name);
$("#fLabelName").html(result.name);
}
}
});
您无需检查result
的多个条件,您可以检查上述条件。
如果要检查空字符串或长度,则需要在if中添加额外的1个子句。
如果您正在使用jQuery,那么即使您可以使用trim函数来检查空的json响应。或者您可以使用javascript的本地length函数来检查json响应是否为空。