你好,我的ajax是text纯文本类型,想传到后端。结果后端一直显示为null空值,说明没有传进去,这是为什么呢?
<a href="/li1.html" style="text-decoration: none">
<div id="co" style="overflow:hidden;background-color: black">
<div id="cp" th:each="cangpin,cangpinStat:${cangpinlist}">
<div id="stdlib" hidden="hidden" th:text="${cangpin.xuhao}" ></div>
<div id="cq" width="80%" height="auto">
<img th:src="${cangpin.path2}">
<p class="cqb" style="display:none" th:text="${cangpin.began}"></p>
<p class="cqd" style="display:none" th:text="${cangpin.num}"></p>
<p class="cqc"></p>
</div>
<div id="cqa">
<nobr class="span1" th:text="${cangpin.cangpinname}"></nobr><br>
<nobr class="span2" th:text="${cangpin.type2}"></nobr>
<nobr class="span3">限量</nobr>
<nobr class="span4" th:text="${cangpin.totalnum}"></nobr>
<nobr class="span5" th:text="' '+${cangpin.sys}"></nobr><br>
<img th:src="${cangpin.icon}" style="height: 28px;width: 28px;margin-left:25px">
<nobr class="span6" th:text="' '+${cangpin.company}"></nobr>
<nobr class="span7" th:text="' ¥'+${cangpin.xianjia}"></nobr>
</div>
</div>
</div>
</a>
这是html的代码,其中${cangpin.xuhao}就是thymeleaf里面的需要传输的数据
var stdlib=$("#stdlib").text();
$.ajax({
type:'get',
url:'./querycp2.html',
async:true,
dataType:'text',
error:"重新请求",
data:{
'stdlib':stdlib,
},
success:function (){},
Error:function () {}
})
这是ajax部分的代码,其中,querycp2.html是当前网页。
@CrossOrigin
@RequestMapping("/querycp2")
@ResponseBody
public Model getCangpin2(Model mp,@RequestBody(required = false) String stdlib){
ArrayList<Cangpin> cp= reds.getResult();
for(int i=0;i<cp.size();i++) {
cp.get(i).setYuanjia(new DecimalFormat("#0.00").format(BigDecimal.valueOf(Double.valueOf(cp.get(i).getYuanjia()))));
cp.get(i).setXianjia(new DecimalFormat("#0.00").format(BigDecimal.valueOf(Double.valueOf(cp.get(i).getXianjia()))));
}
mp.addAttribute("cangpinlist", cp);
mp.addAttribute("stdlib",stdlib);
return mp;
}
这是后端代码,其中,stdlib字符串就是我要接收的字符串。
可是,stdlib为什么显示是空值null呢。也就是前端的数据并没有传到后端,结果变成空值。
这是为什么呢。