我想用load函数发布一些变量。代码就像这样。
var database = "<?php echo $db;?>";
var table = "<?php echo $table;?>";
var formdata = "&dbname="+database+"&tablename="+table;
var track_click = 0; //track user click on "load more" button, righ now it is 0 click
$('#results').load("showdataprocess.php", {'page':track_click , formdata }, function()
{track_click++;});
并且,它不起作用。知道怎么样?谢谢。
答案 0 :(得分:0)
您不能将键/值字符串数据与.load()
的对象混合。更改以传递对象中的所有数据。
$('#results').load("showdataprocess.php", {'page':track_click , dbname : database, tablename : table}, function()
可以将字符串作为整个数据传递,但.load()
将执行GET请求而不是POST。
答案 1 :(得分:0)
我想用加载函数发布一些变量......
是的,你可以这样做。如果您将对象提供给load
作为其第二个参数,则load
使用HTTP POST
而不是HTTP GET
。
......它没有用。
如果您查看Web控制台,您会看到指出语法错误的错误
$('#results').load("showdataprocess.php", {'page':track_click , formdata }, function()
{track_click++;}); // ^
// Here ----------------------------------------------------------------/
您要么传递字符串,要么传递对象。在您的情况下,最简单的事情(也正确地编码事物)是完全摆脱您的formdata
变量并将所有三条信息放在您传递的对象中作为第二个参数:
var database = "<?php echo $db;?>";
var table = "<?php echo $table;?>";
var track_click = 0; //track user click on "load more" button, righ now it is 0 click
$('#results').load("showdataprocess.php", {
page: track_click,
dbname: database,
tablename: table
}, function () {
track_click++;
});
然后访问$_POST
对象上的那些,例如:
$dbname = $_POST["dbname"];
但:除非您有非常非常好的理由,不要将有关您数据库的信息发送到客户端!这暴露了太多的基础设施。保留服务器端的信息,不要将其发送给客户端并让客户端将其发回。