Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于php'从数据库中检索数据;用jquery/ajax获取var?_Php_Jquery_Ajax - Fatal编程技术网

基于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插件可以让这更简单,试试看