Javascript 当用于对webservice进行ajax调用的数据类型为“jsonp”时,如何将suces函数的结果与字符串进行比较
我正在使用JQuery调用RESTful Web服务 我想使用if-else结构将success函数返回的响应与字符串进行比较 注意:RESTfulWebService的响应是JSONObject:-欢迎用户 这是我的密码:Javascript 当用于对webservice进行ajax调用的数据类型为“jsonp”时,如何将suces函数的结果与字符串进行比较,javascript,jquery,ajax,web-services,jsonp,Javascript,Jquery,Ajax,Web Services,Jsonp,我正在使用JQuery调用RESTful Web服务 我想使用if-else结构将success函数返回的响应与字符串进行比较 注意:RESTfulWebService的响应是JSONObject:-欢迎用户 这是我的密码: $("#loginform").submit(function(event){ event.preventDefault(); var user = document.getElementById(
$("#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对象,那么您将无法通过这种方式检查深度相等性。您需要找到字符串值Welcome User的键索引 如果您不确定输入的数据,您可以始终循环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===更安全 我尝试添加这个,但是if-else块仍然没有在'if'块中执行代码:console.logHi User;