1

当我尝试在浏览器上运行此代码时出现以下错误。“错误响应错误代码:501 消息:不支持的方法('POST')。错误代码说明:501 - 服务器不支持此操作。”

浏览器控制台中出现以下错误:

"1. 加载资源失败:服务器响应状态为 404 (File not found)

 'http://localhost:8002/js/jquery-1.3.2.min.js'
  1. 资源解释为脚本,但使用 MIME 类型 text/plain 传输:pquery-0.0.1.js:1
  2. 加载资源失败http://mdsad.com/p.js?v=1372783767755 undefined login.html:61 POST

    http://localhost:8002/login.html 501 (Unsupported method ('POST')) login.html:1
    

    资源解释为脚本,但使用 MIME 类型 text/plain 传输:pquery-0.0.1.js:1

  3. 获取http://mdsad.com/p.js?v=1372783801500 下载.js:33"

通过 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>

有人可以告诉我我哪里出错了吗?

4

2 回答 2

10

您正在端口 8802 上运行本地服务器,但 javascript 文件“jquery-1.3.2.min.js”不在指定位置,因此出现 404 错误。

501 错误是因为您使用的服务器(可能是 simpleHTTPServer 之类的)不支持 POST 请求。

要解决该错误,您需要使用支持 POST 请求的服务器(例如 Apache、IIS)。

于 2013-07-02T17:29:07.583 回答
1

您两次导入 Jquery 和两个不同的版本,假设 404 不准确,这可能会添加各种奇怪的问题。

删除这一行:

<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>

如果不出意外,它将清除 404

于 2013-07-02T17:21:43.637 回答