当我尝试在浏览器上运行此代码时,我收到以下错误。 “错误回应 错误代码:501 消息:不支持的方法('POST')。 错误代码说明:501 - 服务器不支持此操作。“
浏览器控制台中出现以下错误:
“1。无法加载资源:服务器响应状态为404(找不到文件)
'http://localhost:8002/js/jquery-1.3.2.min.js'
无法加载资源http://mdsad.com/p.js?v=1372783767755 undefined login.html:61 发布
http://localhost:8002/login.html 501 (Unsupported method ('POST')) login.html:1
资源解释为脚本但使用MIME类型text / plain传输: pquery-0.0.1.js:1
通过stackmob登录用户也会失败。我收到了“失败”警报消息。这是代码:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript" src="http://static.stackmob.com/js/stackmob-js-0.9.1-bundled-min.js"></script>
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Login Form</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(document).ready(function() {
$(".username").focus(function() {
$(".user-icon").css("left","-48px");
});
$(".username").blur(function() {
$(".user-icon").css("left","0px");
});
$(".password").focus(function() {
$(".pass-icon").css("left","-48px");
});
$(".password").blur(function() {
$(".pass-icon").css("left","0px");
});
});
</script>
<script type="text/javascript">
function nextpage(form){
StackMob.init({
publicKey:"my_key",apiVersion:0
});
var u=document.getElementById('username').value;
var p=document.getElementById('password').value;
var user = new StackMob.User({ username: u, password: p});
user.login(false, {
success: function(model, result, options) {
alert("Success");
StackMob.isUserLoggedIn(form.username.value, {
yes: function() { alert("Yes"); },
no: function() {
alert("No");}
});
},
error: function(model, result, options) {
console.log(result);
alert("Failure");//or print out the error
} }); };
</script>
</head>
<body>
<div id="wrapper">
<div class="user-icon"></div>
<div class="pass-icon"></div>
<form name="login-form" class="login-form" action="" method="post">
<div class="header">
<h1>Login Form</h1>
<span>Fill in the details</span>
</div>
<div class="content">
<input id="username" name="username" type="text" class="input username" value="Username" onfocus="this.value=''" />
<input id="password" name="password" type="password" class="input password" value="Password" onfocus="this.value=''" />
</div>
<div class="footer">
<input type="submit" name="submit" value="Login" class="button" onclick="nextpage(this.form)"/>
<input type="submit" name="submit" value="Register" class="register" />
</div>
</form>
</div>
<div class="gradient"></div>
</body>
</html>
但是,我确定stackmob部分,因为它在我的简单代码中运行良好。这是工作简单的代码:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript" src="http://static.stackmob.com/js/stackmob-js-0.9.1-bundled-min.js"></script>
<script type="text/javascript">
function nextpage(form){
StackMob.init({publicKey:"my_key",apiVersion:0});
var u=document.getElementById('username').value;
var p=document.getElementById('password').value;
user.login(false, {
success: function(model, result, options) {
alert("Success");
StackMob.isUserLoggedIn(form.username.value, {
yes: function() { alert("Yes"); },
no: function() {
alert("No");
}
});
},
error: function(model, result, options) {
console.log(result);
alert("Failure");//or print out the error
}
});
};
</script>
</head>
<body>
<form>
<table>
<tr><td>Username</td><td><input id="username" type="text"></td></tr>
<tr><td>Password</td><td><input id="password" type="text"></td></tr>
<tr><input type="button" value="LOGIN" onclick="nextpage(this.form)"></tr>
</table>
</form>
</body>
</html>
有人可以告诉我哪里出错了吗?
答案 0 :(得分:9)
您正在端口8802上运行本地服务器,但javascript文件“jquery-1.3.2.min.js”不在指定的位置,因此出现404错误。
501错误是因为您使用的服务器(可能类似于simpleHTTPServer)不支持POST请求。
要解决该错误,您需要使用支持POST请求的服务器(例如Apache,IIS)。
答案 1 :(得分:1)
您导入Jquery两次,以及两个不同的版本,假设404不准确,这可能会添加各种奇怪的问题。
删除此行:
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
如果没有别的,它将清除404