亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么回調函數中收到的data值是一個document對象而不是我想要的那個str字符串呢?

為什么回調函數中收到的data值是一個document對象而不是我想要的那個str字符串呢?

慕容708150 2023-02-17 21:17:59
java代碼: public class AjaxAction extends ActionSupport { public void getDept() { (中間省略,只寫了處理結果) String str={"1":{"Dname":"光電信息科學技術學院"},"2":{"Dname":"化學化工學院"}}; out.println("str"); out.close(); } } struts.xml代碼: <action name="getDept" class="AjaxAction" method="getDept"> </action> js代碼 $(document).ready(function getDept() { $.get("getDept", null, function (data) { var obj = eval(data); }) }); 
查看完整描述

3 回答

?
UYOU

TA貢獻1878條經驗 獲得超4個贊

你用json格式 把 string類型封裝成 對象,然后再把json對象解析為 string類型,這樣應該就OK了吧,。
function checkExist(){
//使用 Ajax 的方式 判斷數據庫中是否有該用戶的名字(注冊的時候)
alert($("#name").val());
$("#nameW").empty();
var url = "regiValiAndLoginAjax!isNameExist";
//獲取表單值,并以json的數據形式保存到params中
var params = {name:$("#name").val()}
//使用$.post方式 
$.post(
url, //服務器要接受的url
params, //傳遞的參數 
function cbf(data){ //服務器返回后執行的函數 參數 data保存的就是服務器發送到客戶端的數據
//alert(data);
var member = eval("("+data+")"); //包數據解析為json 格式  
isExist = member.nameExist;
if(member.nameExist == "false"){
isNameT = "true";
namePass = true;
//$("div[id!='nameW4']").empty();
alert("恭喜你,用戶名可用的啦");
$("#nameW4").show("slow");
$("#nameW3").hide("slow");
$("#name").attr("disabled", true);
$("nameW1").css("color", "#333333");

}
else{
alert("用戶名已存在,請重新輸入");
namePass = false;
$("#nameW3").show("slow");
$("#nameW4").hide("slow");
isNameT = "false";
}
}, 
"json" //數據傳遞的類型 json
);
}

上面是 jsp 的頁面代碼:
下面是java中的代碼;
//以下是ajax的訪問的方法開始
public String isNameExist(){//判斷用戶的注冊名在數據庫中是否存在的 啦

vali = new Validation();
name = this.getName();
System.out.println("userName = " + name);
boolean exist = false;
String isExist = "false";
try {
exist = this.userService.existsName(name);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
if(exist){
isExist = "true";
}else{
this.getSession().put("name", this.getName());
System.out.println(this.getSession().get("name").toString());
}
vali.setNameExist(isExist);
JSONObject jo = JSONObject.fromObject(vali);
result = jo.toString();
System.out.println(result);
return SUCCESS;
}
其實json格式對數據的封裝是很方便的,,ajax + jquery + json 應該是完美的搭配吧 

 


查看完整回答
反對 回復 2023-02-20
?
森欄

TA貢獻1810條經驗 獲得超5個贊

1:out.println("str"); //去掉引號
2:var obj = eval(data); //在這里你把data值轉換成了對象
如果要直接返回str:var obj = data;

查看完整回答
反對 回復 2023-02-20
?
SMILET

TA貢獻1796條經驗 獲得超4個贊

$.get("getDept", null, function (data) { 
var obj = eval(data); 
},json)

查看完整回答
反對 回復 2023-02-20
  • 3 回答
  • 0 關注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號