js异步通信返回字符串

本文探讨了在JavaScript进行异步通信时如何正确处理从后台Java代码返回的字符串。特别指出,当Java使用`out.println`时,字符串可能包含换行符,导致在JS中与预期值不匹配。解决方法是在JS中使用`replace`函数替换转义的换行符,例如:`text.replace("\r", " ").replace("\n", " ");`。" 124890132,14091575,Java RPC框架性能对比:Dubbo、Motan、gRPC与Thrift,"['分布式', 'Java框架', 'RPC', '性能测试']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在java代码中:

response.setContentType("text/html;charset=UTF-8");//设置字符集
PrintWriter out = response.getWriter();
out.print("操作失败");//写入字符串
out.close();

js代码中:

var xmlhttp;
if(window.XMLHttpRequest){    // code forIE7+, Firefox, Chrome, Opera, Safari
	xmlhttp=newXMLHttpRequest();
}else{    // code for IE6, IE5
	xmlhttp=newActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.onreadystatechange=function(){
	if(xmlhttp.readyState==4 && xmlhttp.status==200){
		vartext = xmlhttp.responseText+"";
		if("操作失败"==text){  
			alert(text);
		}else{
			alert(111);
		}
            }
	}
xmlhttp.open("POST",请求路径 ,true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(参数);//参数格式:a=1&b=2

 

注意:从后台java代码获取字符串需要注意:

1.当在java代码中,使用out.println("操作失败");时,由于存在换行,"操作失败"==text的值为为false

2.Java后台获取字符串,字符串中带有换行“\r\n”,经过转义,js获取的是\\r\\n,需要

text.replace("\\r", "\r").replace("\\n", "\n");  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值