当用于ajax调用webservice的数据类型为json "时,如何将成功函数的结果与字符串进行比较
How to compare result of the sucess function with a string when the dataType used to make ajax call to webservice is "jsonp"
我正在使用JQuery调用RESTful web服务
我想将成功函数返回的响应与使用if-else结构的字符串进行比较
注意:来自rest式web服务的响应是JSONObject:- "欢迎用户"
下面是我的代码: $("#loginform").submit(function(event){
event.preventDefault();
var user = document.getElementById("username").value;
var pass = document.getElementById("password").value;
$.ajax({
url: "http://ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com:8080/UserManagement/rest/user_details/sign_in",
type: "POST",
crossDomain: true,
dataType: 'jsonp',
data: { username: user, password: pass},
success: function (result) {
resultDiv.innerHTML=result;
if (result.toString() == "Welcome User")
{
//link to direct to homepage
}
else alert("Invalid details");
},
error: function (xhr, ajaxOptions, thrownError) {
}
});
请看看if-else部分,并建议我如何比较字符串的响应?
如果ajax调用的结果是一个JSON对象,那么您将无法以这种方式检查深度相等性。您需要找到字符串值"欢迎用户"的键索引。
如果您不确定传入的数据,您可以始终循环遍历JSON对象并检查"欢迎用户",就像在您的成功回调中一样:
var containedString = false;
for (var key in results) {
if (results[key] === "Welcome User") {
containedString = true;
}
}
if (containedString = true) {
// link to homepage
} else {
alert("Invalid Details");
}
作为旁注,在javascript中总是使用triple ===,因为它更安全!
相关文章:
- 在另一个函数成功结束后调用该函数
- jQuery成功函数中的ajax成功函数
- 执行ajax成功函数-jQUERY
- I'我试图在文本区域中进行特定的输入,调用特定的javascript函数,但没有成功;不起作用
- 绑定到 x 可编辑的成功函数未使用正确的参数执行
- 将值传递到jQuery成功函数中的引导模式
- Ajax没有't执行成功函数
- 为什么Jquery$.ajax在函数调用中触发所有statusCode,即使调用成功
- 在成功时操作 AJAX 函数
- 如何从ajax成功回调函数中读取javascript变量
- 使用JSON数据检索AJAX外部成功函数
- Javascript异步成功函数-互斥
- 同步函数调用涉及post-json调用,其中一个函数应该在另一个函数成功后成功
- 向 Jquery 提供一个非匿名函数:成功 + 额外的混乱
- jQuery AJAX函数成功不起作用
- 当Ajax函数成功时显示消息
- 显示加载gif图像,直到函数成功
- ajax内调用函数成功
- Ajax/jQuery 中的函数“成功”
- jQuery: AJAX中调用递归函数成功