1:js
$.ajax({
var SelUrl="${pageContext.request.contextPath}/AjaxTest.action?goodsmodel.goodsname=张三";
url: encodeURI(SelUrl), //这里填请求地址
type: "Post",
dataType: "text", //页面传输数据的类型,当然也可以填其他类型,比如:json;今天我只用到这个,所以就用text
contentType: "application/json; charset=utf-8",
success: function (result) { //resultt 用于接收 action返回的字符串
if(result=="0"){
alert("用户名已存在!");
} else{
alert("添加成功");
}
error: function () {
alert("添加失败,请重试!");
}
)};
2:Action 代码
public class GoodsController {
private InputStream inputStream; //必须定义的输入流 用来放回一个流到ajax接收
/** * get set方法 * */
public InputStream getInputStream() {
return inputStream;
}
public void setInputStream(InputStream inputStream) {
this.inputStream = inputStream;
}
/*Ajax返回数据测试 */
public String AjaxTest() throws Exception{
String username="张三";
String username1=goodsmodel.getGoodsname().trim(); //我这里是用模型接接受的数据,也可以用servlet的request请求获取
String resultStr="";
if (username1.equals(username)) {
resultStr ="0";
inputStream = new ByteArrayInputStream( resultStr.getBytes("UTF-8"));
}
return SUCCESS;
}
}
3:xml配置
<package name="default" extends="struts-default">
<action name="AjaxTest" class="net.xxx.controller.UserController" method="AjaxTest">
<result type="stream"> <!-- 这里类型填 stream -->
<param name="contentType">text/html</param>
<param name="inputName">inputStream</param> <!-- 这里的 inputstream 是填action方法里面定义的 InputStream 输入流名称-->
</result>
</action>
</package>
4:结果
注意:此文档仅供学习使用,如果侵权,请及时联系作者!