声明
我搜索过重复项,但我似乎无法找到它们。我很惊讶,因为这似乎是个大问题。我很可能错过了一些重要的东西。
问题/疑问
我通过userid
,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和this回答的帮助下,我能够通过这个功能找到答案:(回答)
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, " "));
}
谢谢你的答案!
答案 0 :(得分:2)
$.ajax({
url: "myScript.php",
data: "userid=<?php echo intval($_GET['userid']); ?>",
success: function( data ) {
$('#myDiv').html( data );
}
});
答案 1 :(得分:1)
您可能必须在PHP文件上内联移动脚本,然后在ajax调用的数据区域中回显$ _GET ['userid']。
答案 2 :(得分:1)
如果你想把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']);
答案 3 :(得分:1)
您也可以尝试使用window.location对象的搜索属性。
如果网址为http://www.mysite.com/display.php?userid=7,window.location.search将返回“?userid = 7”。你显然需要删除前导“?”,但要注意,如果有额外的GET参数,用&符号'&amp;'分隔,那么它们也将被包括在内。
所以,通过一些额外的Javascript,你可以拆分'&amp;',它会得到一个“key = val”数组,然后你可以在等号上溢出并用{key:创建一个对象: VAL}。然后,您可以使用该对象访问查询字符串params。
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。