[英]retrieving data from db based on php's $_GET var with jquery/ajax?
免责声明
我已经搜索了重复项,但是似乎找不到它们。 我很惊讶,因为这似乎是一个大问题。 我最有可能错过了一件大事。
问题/疑问
我有该userid
通过通过URL传递到php
, myOtherScript.php?userid=1
。 如何获得通过ajax
传递的变量,以便可以使用该userid
查询数据库,将其回显并将其返回到页面?
这是在global.js
文件中
jQuery的
$.ajax({
url: "myScript.php",
data: "userid=" - This is what I need: $_GET['userid'] - ,
success: function( data ) {
$('#myDiv').html( data );
}
});
解
在bstakes和这个答案的帮助下,我能够通过以下功能弄清楚它:(最佳答案)
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if(results == null)
return "";
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}
谢谢你们的答案!
$.ajax({
url: "myScript.php",
data: "userid=<?php echo intval($_GET['userid']); ?>",
success: function( data ) {
$('#myDiv').html( data );
}
});
您可能必须将脚本直接内联到PHP文件中,然后在ajax调用的数据区域中回显$ _GET ['userid']。
刚刚发现: 如何使用JQuery获取GET和POST变量?
如果要单独保留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对象的search属性。
如果url是http://www.mysite.com/display.php?userid=7 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的更多信息,请参见https://developer.mozilla.org/En/Window.location 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.