ajax返回參數判斷時不相等的問題,eval()

今天在寫代碼的時候發現一個小問題,ajax請求後臺返回“SUCCESS”到前臺時,前臺判斷時爲false,即msg == “SUCCESS” 返回false,代碼如下:

後臺Java代碼

@RequestMapping(value="save_info")
    @ResponseBody
    public String modifyInfo(HttpServletRequest request,ModelMap modelMap) {
        String mString = "";
        try {
          ... ...
            int num = expertorsServices.updateExpertors(expertors);
            if (num == 1) 
                mString = "SUCCESS";//修改成功返回SUCCESS
            else
                mString = "FAIL";//修改失敗,返回FAIL
                    
        } catch (Exception e) {
            e.printStackTrace();
            mString = "FAIL";
        }
      //  System.out.println(mString);
        return mString;
    }

前臺ajax請求

              var zname = $("#zname").val();
        	  var zsex = $("#zsex[name='zsex']:checked").val();
        	  var zdanwname = $("#zdanwname").val();
        	  var ztelphone = $("#ztelphone").val();
        	  var zhiwei = $("#zhiwei").val();
        	  var zhichen = $("#zhichen").val();
        	  $.ajax({
        			type:"post",
        			dataType:"text",
        			data:{"zname":zname,
        				"zsex":zsex,
        				"zdanwname":zdanwname,
        				"ztelphone":ztelphone,
        				"zhiwei":zhiwei,
        				"zhichen":zhichen
        			},
        			url:"save_info.dx",
        			success:function(msg){
        				if(msg == "SUCCESS"){//注意這個地方的返回值爲false
        				 layer.alert('修改成功!',{
        		               title: '提示框',				
        					   icon:1,			   		
        					  });
        				}else{
        					layer.alert('修改失敗!',{
         		               title: '提示框',				
         					   icon:1,			   		
         					  });
        				}
        			},
        			error:function(){
        				layer.msg(msg,{icon: 6,time:1000});
        			}
        			
        		});

沒有找到原因,最終請教同事,在js代碼註釋的那行判斷條件修改爲

eval(msg) == "SUCCESS"   問題解決,記錄一下,避免下次跳坑

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章