Android 移动设备上的AJAX请求失败
如果我在我的浏览器中尝试以下代码,它可以工作,但当我在我的设备(三星Galaxy S3)上尝试时,它无法完成AJAX请求 AJAX请求:Android 移动设备上的AJAX请求失败,android,ajax,webrequest,galaxy,Android,Ajax,Webrequest,Galaxy,如果我在我的浏览器中尝试以下代码,它可以工作,但当我在我的设备(三星Galaxy S3)上尝试时,它无法完成AJAX请求 AJAX请求: $.ajax({ type: "POST", url: "http://somelink.nl/mobileajax/ajax.php", data: ({ name: Username, pass: Pass, email: Email, firstname: First
$.ajax({
type: "POST",
url: "http://somelink.nl/mobileajax/ajax.php",
data: ({
name: Username,
pass: Pass,
email: Email,
firstname: FirstName,
lastname: LastName
}),
cache: false,
dataType: "text",
success: alert('Succes')
});
希望你们能帮助我
编辑:
感谢您的帮助,但它仍然无法工作。我们发现这不是AJAX请求出错,而是其他问题。以下是完整代码: Javascript:
var app = {
// Application Constructor
initialize: function() {
this.bindEvents();
},
// Bind Event Listeners
//
// Bind any events that are required on startup. Common events are:
// 'load', 'deviceready', 'offline', and 'online'.
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
// deviceready Event Handler
//
// The scope of 'this' is the event. In order to call the 'receivedEvent'
// function, we must explicity call 'app.receivedEvent(...);'
onDeviceReady: function() {
app.receivedEvent('deviceready');
},
// Update DOM on a Received Event
receivedEvent: function(id) {
var parentElement = document.getElementById(id);
var listeningElement = parentElement.querySelector('.listening');
var receivedElement = parentElement.querySelector('.received');
listeningElement.setAttribute('style', 'display:none;');
receivedElement.setAttribute('style', 'display:block;');
console.log('Received Event: ' + id);
}
};
function register()
{
var Username = $.trim($("#Username").val());
var Pass = $.trim($("#Password").val());
var Email = $.trim($("#Email").val());
var FirstName = $.trim($("#FirstName").val());
var LastName = $.trim($("#LastName").val());
if((Username.length > 0) && (Pass.length > 0) && (Email.length > 0) && (FirstName.length > 0) && (LastName.length > 0) )
{
$.ajax({
type: "POST",
url: "http://quincycollijn.nl/mobileajax/ajax.php",
data: ({name: Username, pass: Pass, email: Email, firstname: FirstName, lastname: LastName}),
dataType: "text",
success: onSucces,
error: function(jq,status,message) {
alert('A jQuery error has occurred. Status: ' + status + ' - Message: ' + message);
}
});
} else {
alert('Niks ingevult');
}
function onSuccess()
{
alert('Result:');
}
}
HTML:
我的页面
聊天!
在第二行
我看到有一个单引号是不需要的,可能会导致错误,这是打字错误吗?您是否在s3的其他浏览器上尝试过同样的做法?像Opera Mini?你在S3上尝试过其他浏览器吗?然后尝试1。添加错误处理程序2。根据jquery文档缓存(数据类型“script”和“jsonp”的默认值为true、false)Type:Boolean,如果设置为false,它将强制浏览器不缓存请求的页面。注意:将缓存设置为false只能正确处理HEAD和GET请求。它的工作原理是在GET参数后面附加“={timestamp}”。其他类型的请求不需要该参数,除非在IE8中,当一个帖子被发送到一个已经被GET请求的URL时。谢谢你的帮助,但它仍然不起作用。我发现这不是AJAX请求出了问题,而是其他一些问题,我现在将发布完整的代码。如果你使用的是jquery mobile,不建议绑定普通的document.ready函数,您应该绑定到mobileinit事件,有关更多信息,请参阅它在我看来很好。只是一个随机检查-你确定代码中没有其他问题-所有控件都存在吗?很多时候,调用甚至可能不会涉及Ajax,但可能是拼写错误的控件名或类名。
<!DOCTYPE html>
<html>
<head>
<title>My Page</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<link rel="stylesheet" href="css/style.css" />
<script src="phonegap.js"></script>
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
<script src="js/index.js"></script>
</head>
<body onLoad="onBodyLoad()">
<div data-role="page" data-theme="a">
<div data-role="header">
<h1>Chatup!</h1>
</div><!-- /header -->
<div data-role="content">
<div data-role="fieldcontain">
<img src="img/img_placeholder.png" class="placeholder" align="center" rel="Placeholder" >
<input class="login-input" data-mini="true" type="text" id="FirstName" name="first_name" placeholder="First Name" data-theme="b" >
</br></br></br>
<input class="login-input" data-mini="true" type="text" id="LastName" name="last_name" placeholder="Last Name" data-theme="b" >
</br></br></br>
<input type="text" data-mini="true" name="username" id="Username" placeholder="Username" data-theme="b" >
</br>
<input type="text" data-mini="true" name="email" id="Email" placeholder="Email" data-theme="b" >
</br>
<input type="password" data-mini="true" id="Password" name="password" placeholder="Password" data-theme="b" >
</br>
<a href="#" class="register-button" data-role="button" data-theme="b">Register</a>
</div>
</div><!-- /content -->
</div><!-- /page -->
</body>
</html>