gpt4 book ai didi

javascript - Ajax 帖子未完成

转载 作者:行者123 更新时间:2023-11-28 15:39:31 25 4
gpt4 key购买 nike

我正在尝试将我正在创建的网站上的索引页面和我的登录 php 代码链接在一起。然而,我在完成 ajax post 调用时遇到了问题。让我从索引 html 开始,这样您就可以看到脚本和表单设置:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Official Website of Logopedia STS & Carr SLS</title>
<link href="css/landing.css" rel="stylesheet" type="text/css"/>
<link href="css/uikit.gradient.min.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="js/uikit.min.js"> </script>
<script type="text/javascript" src="js/jquery-1.11.0.min.js"> </script>

JS:

function login()
{
alert("reached function"); //For debugging

var datastring = $('#login').serialize();
alert(datastring);

var post_data = $.ajax(
{
type: "POST",
url: "php/test.php",
data: dataString
});

post_data.done(function(jsonstr)
{
//For Debugging
alert("works");
alert(jsonstr);
});

post_data.fail(function(jqXHR, text)
{
alert("Post failed:" + text); //In case of fail
});
}

function replaceAll(find, replace, str)
{
while( str.indexOf(find) > -1)
{
str = str.replace(find, replace);
}
return str;
}

HTML:

<!-- Background Image -->
<div class="bground"></div>

<!-- Banner -->
<div class="banner"></div>

<!-- Logo -->
<div class="tempLogo"></div>

<p class="contxt">This website is currently under construction.<br/><br/>
If you are an administrator of this site, please log in below.</p>

<form class="uk-form" id="login">
<fieldset>
<legend>Login</legend>
<label for='username'>Username</label>
<input name="uname" id="uname" type="text" size="40" maxlength="40" /><br /><br/>
<label for='password'>Password</label>
<input name="pword" id="pword" type="password" size="40" maxlength="40" /><br/>
<button class="uk-button uk-button-primary" name="btnlin" height="15" width="30" onclick="login()">Login</button>
<button class="uk-button uk-button-danger" name="btnlout" height="15" width="30">Logout</button>
</fieldset>
</form>

所以我认为也许我的 php 代码有问题,并且它在某个地方没有正确执行(该网站的虚拟主机不允许 php 错误输出),所以我决定制作一个简单的测试 php 文件来测试。这是:

<?php
$username = $_POST['uname'];

$args = array($username => 1);

echo json_encode($args);
?>

但是,然后我在 uname 字段中输入了一些内容并单击“登录”,而在 ajax 调用触发之前的测试警报却没有任何反应。

最佳答案

我将您的代码复制到一个文件中并删除了警报,并使用 firebug 逐步执行代码并最终看到了它。您的问题是/曾经是一个拼写错误。在 login() 中,您将 datastring 声明为小写。当您在 ajax 请求中引用它时,它是 dataString 驼峰式大小写。 javascript 将其视为未知变量并崩溃。

关于javascript - Ajax 帖子未完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24337594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com