Javascript jqueryajax可以在mobilesafari上工作,但不能在UIWebView上工作?
我有一个基本的jqueryajax函数,可以让用户通过UIWebView登录。但是,由于某些原因,当它位于UIWebView中时,它将返回空白。它在移动safari和我的电脑上的chrome和firefox中运行良好 这是我的密码:Javascript jqueryajax可以在mobilesafari上工作,但不能在UIWebView上工作?,javascript,jquery,ios,ajax,uiwebview,Javascript,Jquery,Ios,Ajax,Uiwebview,我有一个基本的jqueryajax函数,可以让用户通过UIWebView登录。但是,由于某些原因,当它位于UIWebView中时,它将返回空白。它在移动safari和我的电脑上的chrome和firefox中运行良好 这是我的密码: $("#login_button").live('click',function() { var serializeme = $("#login_form").serialize(); alert(serializeme);
$("#login_button").live('click',function() {
var serializeme = $("#login_form").serialize();
alert(serializeme);
$.ajax({
type: "POST",
url: "http://domain/location/process_login.php",
data: serializeme,
success: function(theRetrievedData) {
var thePlace = theRetrievedData.indexOf("?!?success?!?");
if (thePlace != -1) {
var theArray = theRetrievedData.split("?!?success?!?");
var theUrl = theArray[1];
$('#content').fadeOut(500);
setTimeout( function() {window.location = theUrl;}, 500 );
} else {
alert(theRetrievedData);
alert("no bueno");
}
}
});
});
theRetrievedData
仅在警报中返回空白
请帮忙
附言:如果你想尝试登录,这个应用在应用商店中被称为“Dudles”(它是免费的)。您将从警报中收到一条空白消息。您也可以发布PHP代码吗 我重构了你写的代码,我将如何编写它,只是为了看看我是否能发现任何错误,没有什么明显的错误。以下是我到目前为止的情况:
$(document.body).on('click', '#login_button', function () {
$.ajax({
type: "POST",
url: "http://domain/location/process_login.php",
data: $(this).closest('form').serialize(),
success: function (response) {
var delimiter = "?!?success?!?";
var isSuccessful = response.indexOf(delimiter) !== -1;
if (!isSuccessful) {
// handle error
return;
}
$('#content').fadeOut(500, function () {
location = response.split(delimiter)[1];
});
}
});
});
尝试使用async:true发送ajax请求,如下所示:
$("#login_button").live('click',function() {
var serializeme = $("#login_form").serialize();
alert(serializeme);
$.ajax({
type: "POST",
async:true,
url: "http://domain/location/process_login.php",
data: serializeme,
success: function(theRetrievedData) {
var thePlace = theRetrievedData.indexOf("?!?success?!?");
if (thePlace != -1) {
var theArray = theRetrievedData.split("?!?success?!?");
var theUrl = theArray[1];
$('#content').fadeOut(500);
setTimeout( function() {window.location = theUrl;}, 500 );
} else {
alert(theRetrievedData);
alert("no bueno");
}
}
});
});
嗨,你解决过这个问题吗?我也有同样的问题,但似乎什么都不管用。我也有同样的问题。我尝试过使用zepto和jquery,也尝试过使用一个普通的javascript来执行XHR和调用回调。一切都是徒劳的。然后我尝试使async:false,即使ajax同步,这是有效的。我在成功回调中得到了响应。但我希望它是异步的,否则页面上的所有内容都将被卡住,除非响应已经到达。有人知道吗?我在我的案子里找到了问题所在。基本上,我使用链接重定向并将我的数据附加到Obj-C的URL中来捕获数据并执行一些操作。在这两者之间,我调用了jQueryAjax方法,我想在它从Obj-C返回之前会调用它。我使用JSBridge来解决我的问题。Ajax现在可以正常工作了!