我在ajax调用中使用返回数据时遇到问题。最好的方法是什么?
我只是将信息发送到checker.jsp。它计算它。如果检查结果良好,则以绿色响应。如果不好,它会以红色响应。
如果我在成功中使用它:
alert(light_color);
我得到的内容似乎是整个网页上的单词" Red" 40线下来。因此,if和elses不起作用。我想使用结果而只是结果。不是HTML和其中的一切。
我做错了什么?
任何帮助将不胜感激!
$.ajax({
type: 'POST',
url: 'checker.jsp',
data: {
'bank_cnt': bank_cnt
},
success: function (result) {
var light_color = result;
if (light_color === 'Red') {
alert('Red');
} else if (report === 'Green') {
alert('Green');
} else {
alert('didnt work');
}
}
});
答案 0 :(得分:1)
我想使用结果,只使用结果。不是HTML及其中的所有内容。
'结果'有html及其中的所有内容'。您需要修改 checker.jsp 才能发送红色'或者' Green'并在文本响应的标题中设置内容类型。您应该研究如何以JSON格式响应请求。
答案 1 :(得分:1)
1)使用JSON存储您的结果:
<%@page import="org.json.simple.JSONObject"%>
<%
JSONObject json = new JSONObject();
//Result stored to JSON on the left.
//Your result w/ Red or Green stored on the right.
json.put("result", "result");
%>
如果您使用JSON存储结果,请尝试此操作(添加了contentType
和dataType
属性):
$.ajax({
type: 'POST',
contentType: "application/json; charset=utf-8",
dataType: "json",
url: 'checker.jsp',
data: {
'bank_cnt': bank_cnt
},
success: function (json) {
var light_color = json.result;
if (light_color === 'Red') {
alert('Red');
} else if (report === 'Green') {
alert('Green');
} else {
alert('didnt work');
}
}
});
注意:如果您没有上面声明的contentType
,则可能需要解析JSON对象:
jQuery.parseJSON(json);
2)如果您不想使用JSON:
将结果作为单独的jsp返回,只显示结果文本,并像Alex所述在url
属性中引用该页面。抓住jsp会返回整个页面,所以如果你只想要结果,结果必须是页面所包含的全部内容。
答案 2 :(得分:0)
我认为您忘记阻止默认浏览器操作,请尝试这些行并告诉我您的内容。
jQuery(document).ready(function ($) {
$("#your-form-name").submit(function (event) {
// Prevent the form from submitting via the browser.
event.preventDefault();
// request var definition and filling
bank_cnt= "SOME_DATA"
// Call your function
respViaAjax();
}
function respViaAjax() {
//the response
$.ajax({
type: "POST",
contentType: "application/json; charset=UTF-8", //Or x-www-form-urlencoded or any other type
url: "/checker.jsp",
data: {
'bank_cnt': bank_cnt
},
dataType: 'text',
timeout: 10000,
success: function (result) {
var light_color = result;
if (light_color === 'Red') {
alert('Red');
} else if (report === 'Green') {
alert('Green');
} else {
alert('didnt work');
}
}
}
});
});
如有必要,请勿忘记更改var名称。希望它对你有用..