基于php'从数据库中检索数据;用jquery/ajax获取var?
免责声明 我找了重复的,但似乎找不到。我很惊讶,因为这似乎是一个大问题。但我很可能错过了一些重要的事情 问题/问题 我通过基于php'从数据库中检索数据;用jquery/ajax获取var?,php,jquery,ajax,Php,Jquery,Ajax,免责声明 我找了重复的,但似乎找不到。我很惊讶,因为这似乎是一个大问题。但我很可能错过了一些重要的事情 问题/问题 我通过php,myOtherScript.php?userid=1将userid传递到url。如何通过ajax传递该变量,以便使用该userid查询数据库,将其回显并返回到页面 这在global.js文件中 jQuery $.ajax({ url: "myScript.php", data: "userid=" - This is what I need: $_G
php
,myOtherScript.php?userid=1
将userid
传递到url。如何通过ajax
传递该变量,以便使用该userid
查询数据库,将其回显并返回到页面
这在global.js
文件中
jQuery
$.ajax({
url: "myScript.php",
data: "userid=" - This is what I need: $_GET['userid'] - ,
success: function( data ) {
$('#myDiv').html( data );
}
});
解决方案
在Btakes和answer的帮助下,我能够用这个函数来解决这个问题:(顶部答案)
谢谢你们的回答,伙计们 $.ajax({
$.ajax({
url: "myScript.php",
data: "userid=<?php echo intval($_GET['userid']); ?>",
success: function( data ) {
$('#myDiv').html( data );
}
});
url:“myScript.php”,
数据:“userid=”,
成功:功能(数据){
$('#myDiv').html(数据);
}
});
$.ajax({
url:“myScript.php”,
数据:“userid=”,
成功:功能(数据){
$('#myDiv').html(数据);
}
});
您可能需要在PHP文件中内联移动脚本,然后在ajax调用的数据区域中回显$\u GET['userid']
刚刚发现:您可能需要在PHP文件中内联移动脚本,然后在ajax调用的数据区域中回显$\u GET['userid']
刚刚发现:如果你想让JS保持独立,把它放在一个接受用户id的函数中
function do_something(user_id) {
$.ajax({
url: "myScript.php",
data: "userid=" + user_id,
success: function( data ) {
$('#myDiv').html( data );
}
});
}
然后只需调用
do_something($_GET['user_id'])代码>如果你想让JS保持独立,把它放在一个接受用户id的函数中
function do_something(user_id) {
$.ajax({
url: "myScript.php",
data: "userid=" + user_id,
success: function( data ) {
$('#myDiv').html( data );
}
});
}
然后只需调用do_something($_GET['user_id'])代码>您也可以尝试使用window.location对象的搜索属性
如果url为window.location.search,则返回“?userid=7”。显然,您需要删除前导“?”,但请注意,如果有其他GET参数,用符号“&”分隔,这些参数也将包括在内
因此,使用一点额外的Javascript,您可以在“&”上拆分,这会得到一个“key=val”数组,然后您可以在等号上拆分并创建一个带有{key:val}的对象。然后可以使用该对象访问查询字符串参数
var qs = window.location.search.substring(1),
pieces = qs.split('&'),
i,
qsObj {},
tmp;
for ( var i in pieces ) {
tmp = pieces[i].split('=');
qsObj[tmp[0]] = tmp[1];
}
有关window.location的更多信息,请参阅。您也可以尝试使用window.location对象的搜索属性
如果url为window.location.search,则返回“?userid=7”。显然,您需要删除前导“?”,但请注意,如果有其他GET参数,用符号“&”分隔,这些参数也将包括在内
因此,使用一点额外的Javascript,您可以在“&”上拆分,这会得到一个“key=val”数组,然后您可以在等号上拆分并创建一个带有{key:val}的对象。然后可以使用该对象访问查询字符串参数
var qs = window.location.search.substring(1),
pieces = qs.split('&'),
i,
qsObj {},
tmp;
for ( var i in pieces ) {
tmp = pieces[i].split('=');
qsObj[tmp[0]] = tmp[1];
}
有关窗口位置的更多信息,请参阅。这是一种安全/最佳做法类型的方法吗?jQuery有从url提取数据的功能吗?@Phil:安全的做法是使用会话,当用户成功登录时,将用户id(可能还有其他一些数据)存储在$\u会话中,然后从那里获取。此解决方案不起作用。你不能在JS
脚本中使用PHP
。@Phil:你试过了吗?删除你的否决票,然后先试试-——我想把PHP
和JS
分开。您当前的解决方案无法做到这一点。这是一种安全/最佳做法类型的方法吗?jQuery有从url提取数据的功能吗?@Phil:安全的做法是使用会话,当用户成功登录时,将用户id(可能还有其他一些数据)存储在$\u会话中,然后从那里获取。此解决方案不起作用。你不能在JS
脚本中使用PHP
。@Phil:你试过了吗?删除你的否决票,然后先试试-——我想把PHP
和JS
分开。当前的解决方案无法做到这一点。只有在.php
脚本中引入该函数时,此功能才有效。我希望能够将它保存在一个单独的JS
脚本中,并且仍然能够检索$\u GET
变量。我不建议这样做,但在javascript中,您可以使用良好的旧location.href
来选择查询字符串。有一些jquery插件可以让这变得更容易,请尝试使用.php
脚本中的函数。我希望能够将它保存在一个单独的JS
脚本中,并且仍然能够检索$\u GET
变量。我不建议这样做,但在javascript中,您可以使用良好的旧location.href
来选择查询字符串。有一些jquery插件可以让这更简单,试试看