Sam*_*Sam 10 javascript php ajax jquery
新手的另一个问题.我有一个php变量,可以在数据库中查询值.它存储在变量$ publish中,当用户单击超链接时,它的值将在数据库中更改.
if ($publish == '') {
Link to publish.html
} else {
Link to edit.html
}
Run Code Online (Sandbox Code Playgroud)
后台发生的事情是我在数据库表中查询存储在$ publish变量中的一些数据.如果$ publish为空,它将在弹出窗口中添加publish.html的链接.弹出窗口将处理一个表单,并将数据添加到数据库,这意味着$ publish不再是空的.我想要实现的是,只要在弹出窗口中处理表单并将数据添加到数据库,链接就应该更改为edit.html.当页面将重新查询数据库时会发生这种情况,但它应该在没有页面刷新的情况下发生.
如何使用javascript,jquery或ajax?请协助.
nai*_*vin 14
Javascript本身不能用于处理数据库.这是使用php(或您选择的服务器端语言)完成的.Ajax用于使用javascript向您的php脚本发送请求,而javascript又将与db通信.它不需要页面刷新.
因此,使用ajax可以轻松实现您想要做的事情.既然你提到了jquery,你可以查看jquery中的$ .ajax或$ .post方法,这使得这个过程变得更加简单.
您需要使用ajax处理表单.ajax请求被发送到php脚本,该脚本将在数据库中进行必要的更改并在响应中发送新链接(链接到edit.html).获得响应后,只需用新的锚元素替换当前的锚元素.
例如......
$.post(url, formdataobject , function (resp) {
$("a.youra").text('edit').attr('href', resp);
});
Run Code Online (Sandbox Code Playgroud)
url - php脚本所在的位置
formdataobject - 将表单数据作为键值对的javascript对象
第三个参数是一个匿名函数,也称为回调函数,因为只有在从服务器收到响应时才会调用它.这是因为ajax请求是异步的.
在回调函数中,jquery用于将anchor元素内的文本更改为,edit并且href属性更改为响应中的值.
$ .post表示我们正在使用post方法.所以参数可以作为PHP中$ _POST数组的元素进行访问.更新数据库后,您可以简单地echo输出新链接,它将在响应中收到.
此外,还有其他格式可以让您获得响应,例如.xml,json.
我将尝试将技术术语放在一边,并提供更通用的响应,因为我认为您可能会混淆客户端和服务器端脚本.
将javascript视为一种只能指示您的WEB浏览器如何操作的语言.服务器处理完网页后执行Javascript.
另一方面,PHP在您的Web服务器上运行,并且能够与您的数据库进行通信.如果你想使用javascript从你的数据库获取信息,你需要让javascript让PHP通过对PHP脚本的AJAX调用来查询数据库.
例如,您可以使用javascript调用以下脚本:http://www.myserver.com/ajax_function.php?do = queryDatabase
总结:Javascript无法连接到数据库,但它可以让PHP这样做.我希望有所帮助.