PHP文件中的AJAX
第一个问题是如何使用这个网站,所以如果我没有遵守书中的每一条规则,请原谅我PHP文件中的AJAX,php,html,ajax,Php,Html,Ajax,第一个问题是如何使用这个网站,所以如果我没有遵守书中的每一条规则,请原谅我 我来自C++背景,在PHP/AJAX方面没有太多的经验,所以我知道我可能用一种次优/不适当的方式来处理一些不同的编码任务,用不同的语言编写代码,但是无论如何…… 我有一个使用PHP编写的成员登录系统(连接到mysql数据库)的网站,该网站使用.PHP文件编写,以适应该登录系统 我想在我的.php页面上使用AJAX和JS,使它们具有更好的用户体验,我知道这是可能的(正如我所做的),但我想知道是否有任何负面/技术原因不应该这
我来自C++背景,在PHP/AJAX方面没有太多的经验,所以我知道我可能用一种次优/不适当的方式来处理一些不同的编码任务,用不同的语言编写代码,但是无论如何…… 我有一个使用PHP编写的成员登录系统(连接到mysql数据库)的网站,该网站使用.PHP文件编写,以适应该登录系统
我想在我的.php页面上使用AJAX和JS,使它们具有更好的用户体验,我知道这是可能的(正如我所做的),但我想知道是否有任何负面/技术原因不应该这样做(以及是否有更好的方法),因为php是服务器端,AJAX是客户端 如有任何建议,将不胜感激 谢谢 编辑 我添加了一些代码来显示我想添加到php站点的内容类型<?php
require "class.loginsys.php";
$LS = new LoginSystem();
$LS->init();
?>
<!-- HTML page structure -->
<!DOCTYPE html>
<html>
<head>
<title>OnyxProjectsPage</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<script type = "text/javascript">
function createTable()
{
var xhr;
if (window.XMLHttpRequest) // Mozilla, Safari, ...
{
xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject) // IE 8 and older
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.open("GET", "createDatabase.php");
//xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send();
xhr.onreadystatechange = display_data;
function display_data()
{
if (xhr.readyState == 4)
{
if (xhr.status == 200)
{
alert("Table Created");
}
else
{
alert('There was a problem with the request.');
}
}
}
}
</script>
</head>
<body>
<!-- Header background bar -->
<div id="container" style="width: 1920px">
<div id="header" style="background-color:#4c4c4c;">
<form class="well-home span6 form-horizontal" name="ajax-demo" id="ajax-demo">
<div class="controls">
<button type="button" onclick="createTable()">Create Testplan</button>
</div>
</form>
</body>
</html>
OnyxProjectsPage
函数createTable()
{
var-xhr;
if(window.XMLHttpRequest)//Mozilla、Safari。。。
{
xhr=newXMLHttpRequest();
}
else if(window.ActiveXObject)//IE 8及更早版本
{
xhr=新的ActiveXObject(“Microsoft.XMLHTTP”);
}
open(“GET”,“createDatabase.php”);
//setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);
xhr.send();
xhr.onreadystatechange=显示数据;
函数显示_数据()
{
if(xhr.readyState==4)
{
如果(xhr.status==200)
{
警报(“创建的表格”);
}
其他的
{
警报(“请求有问题”);
}
}
}
}
创建测试计划
使用AJAX
/JavaScript
并不比普通的PHP
更危险。您可以争辩说,人们可以禁用JavaScript,因此无法执行您的预期结果
通常,正如您所提到的,使用AJAX将满足用户体验,因为他们不必每次发送请求时都重新加载页面
在我看来,最好的解决办法是:
检查用户是否在其浏览器中启用了Javascript(关键字:noscript
)。如果是这样,您可以使用像jQuery
这样的框架。使用此功能,您可以利用内置ajax功能(请看一看)。否则,为每位访客准备一个备用/故障保护模式
LT;博士
把它们混合在一起。在任何情况下,在将数据插入数据库(或与这类内容相关的所有内容)之前,在服务器端检查并验证,即使您已经在客户端检查了数据 就我个人而言,我更喜欢两者的结合,但与达夫提供的示例不同 我会编写您的PHP/HTML登录页面,当用户尝试登录时,它会通过ajax请求运行您的PHP脚本。如果PHP脚本返回success,那么ajax可以成功重定向用户 这样做的好处是,您可以在不离开页面的情况下处理空字段/无效登录。如果只使用PHP,则必须将用户重定向到脚本,然后在出现错误时重定向回脚本
然后您必须思考,如果我将用户重定向回登录页面,我如何告诉用户出现错误?Ajax/JS是客户端代码。PHP是服务器端代码。你的问题到底是什么?比如:你试过什么,什么不管用PHP和Ajax没有任何共同点。您还可以使用C++代替PHP,仍然使用Ajax。“Ajax”是一种来自Javascript的技术,它在浏览器中执行,而PHP在服务器上执行?Ajax和PHP是完全不同的东西,也许我还不够具体——我添加了一些基本代码,展示了一个PHP网页示例,页面上使用了Ajax。我的问题是这样做可以吗?这种问题几乎没有正确的答案。“ok to do”意味着什么?安全表演整洁的代码?这取决于许多因素。如果这对你有效,我想这是“可以做的”。作为开发人员,我们都知道,从来没有正确的方法,有几种方法:)“检查是否启用了Javascript,使用ajax进行操作。”这可能会引起混乱。