在安装后首次运行应用程序时从 UIBebView 发出 jQuery Ajax 请求
making a jquery ajax request from a uiwebview on the first run of the application after an install
我们有一个uiWebview,它使用jquery发出ajax请求以便登录。它可以在移动野生动物园和所有浏览器中完美运行。
安装后首次运行应用程序时,ajax 请求似乎已发出,但从未收到任何响应,并且 ajax 请求的失败或完整事件都不会触发。
我们使用了此处的方法:UIWebViewDelegate 不监视 XMLHttpRequest?
监视请求以查看它们是否实际被发送并且它们似乎发出了,但从未收到任何响应。
如果我们然后退出应用程序,终止正在运行的进程并重新启动它,则一切正常。什么会阻止它在第一次运行时工作?
function makeLoginRequest(){
//alert('about to make login request');
var loginInfo='{"username":"'+$("#tbUserName").val()+'","password":"'+$("#tbPassword").val()+'"}';
jQuery.ajaxSetup({ 'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript,application/javascript,text/html,application/json")} });
var loginRequest=$.ajax({
type:'POST',
url: 'http://ourURL.com/api/user/login.json',
data: loginInfo,
contentType: 'application/json',
dataType: 'json',
success: function(data){
var sessionID = data["sessid"];
var session_name= data["session_name"];
var userID=data.user["uid"];
redirectString ='ProfileView.htm?uid='+userID+'&sessionID='+sessionID+'&session_name='+session_name;
saveUsername();
$('window').attr('location', redirectString).delay(1000);
if(enableConsoleLogging)console.log("login attempt succeded.");
logDeviceData();
setTimeout(function (){window.location=redirectString;},0);
}
});
loginRequest.done(function (data) {
if(enableConsoleLogging){
//alert('login attempt complete.');
console.log("login attempt complete.");
console.log(data);
}
});
loginRequest.fail(function(data) {
if(enableConsoleLogging){
//alert("login attempt failed.");
console.log("login attempt failed.");
console.log("statusText: "+data.statusText);
console.log("responseText: "+data.responseText);
}
loginFailed(data);
});
}
我们在网站的后端使用带有Varnish的Drupal。Varnish 正在积极地缓存内容,并且不响应未缓存的请求。 重新启动清漆解决了这个问题。
相关文章:
- 为什么JavaScript在for循环为3时向所有4发出警报
- Javascript语法向设置发出sessionStorage值
- 使用Bacon.js发出事件
- 如何定期发出xmlhttprequest
- Typescript导入导出的类会发出require(..),从而导致浏览器错误
- 键控效果,如果在效果完成之前键控,则发出警报
- 当我在form_for中的text_field_tag中点击Enter时,如何禁止发出POST请求
- 如何通过类比curl请求从JavaScript发出请求
- Webpack UglifyJS仍在发出警告消息
- node.js测试事件是否是在不使用超时的情况下使用sinon.js发出的
- 在node-js路由中发出http请求
- "资源不足错误“;当从Chrome控制台重复发出ajax请求时
- 向Angular 2组件发出传递值
- 在将绑定应用于控制器之后,是否会发出Angular$scope事件
- PhantomJs在控制台中发出http请求时不会返回任何状态
- 打开一个选项卡,并在firefox网络扩展中向其发出POST请求
- 在dropdwon菜单中发出针对特定选择器jquery的问题
- YUI向json文件发出ajax请求
- 如何在不使用JS发出新请求的情况下读取当前标头
- 在安装后首次运行应用程序时从 UIBebView 发出 jQuery Ajax 请求