Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.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 检索javascript函数中的变量值_Php_Javascript_Facebook - Fatal编程技术网

Php 检索javascript函数中的变量值

Php 检索javascript函数中的变量值,php,javascript,facebook,Php,Javascript,Facebook,我正在为我的项目使用facebook API,并以以下方式在varmydata if (response.status === "connected") { LodingAnimate(); //Animate login FB.api('/me?fields=movies,email', function(mydata) { //-- console.log(mydata); i

我正在为我的项目使用facebook API,并以以下方式在var
mydata

if (response.status === "connected")
        {
            LodingAnimate(); //Animate login
            FB.api('/me?fields=movies,email', function(mydata) { //--
            console.log(mydata);
              if(data.email == null)
              {
                 alert("You must allow us to access your email id!");
                 ResetAnimate();
             }
   }
我对这个代码没有任何问题。但我想使用ajax调用来处理这些数据并将其插入数据库

我的ajax调用:

function AjaxResponse()
 {
    var send=document.ge(mydata)      **//Here I want to fetch mydata from previous code**
    var datas = document.elements['id'].value;
    var s = 'connect=1'; 
     $.ajax({
    type: "POST",
    url: "process_facebook.php",
    data: s,send                   **//Is this correct way to send s and send togather? I have tried with only 's' which works fine but dont know about both togather**
    }).done(function(result) {
    $("#fb-root").html(result);
    });
   }

是否有人可以帮助您在javascript函数中获取mydata并查看代码。

由于您正在进行的Facebook API调用是异步的,因此您无法从
ge
函数返回值

相反,使用回调,就像Facebook和其他人一样。见下文

另外,代码片段中隐藏的第二个无关问题的答案是“不,你不是这样做的”。下面我也给了你一个如何做到这一点的指针

function AjaxResponse()
{
    // Callback here----v arg ---v
    document.ge(mydata, function(send) {
        var datas = document.elements['id'].value;
        $.ajax({
            type: "POST",
            url: "process_facebook.php",
            data: {
               connect: 1,
               paramname: mydata      // <=== I don't know what the name of this param is
            }
        }).done(function(result) {
        $("#fb-root").html(result);
    });
}
函数AjaxResponse()
{
//在此回调--v arg--v
document.ge(我的数据,函数(发送){
var数据=document.elements['id'].value;
$.ajax({
类型:“POST”,
url:“process_facebook.php”,
数据:{
连接:1,

paramname:mydata//只需在
FB.api
回调中调用
AjaxResponse
,然后将
mydata
传递给它。当然,你还必须定义
AjaxResponse
才能接受参数。多谢了,伙计,但现在我得到了这个错误-`ReferenceError:LodingAnimate未定义`我真的不知道这个问题pt你告诉过!@Karimkhan:那与这个问题无关。你只需要确保函数在作用域内。我上面所做的更改应该会影响它是否在该代码的作用域内。你的回答给了我正确的方向,但它给出了
TypeError:callback(数据)在callback(数据)中没有定义
你用代码指给我看,但我可能听不懂!
function ge(data, callback) {
    // ...
    if (response.status === "connected") {
        LodingAnimate(); //Animate login
        FB.api('/me?fields=movies,email', function (mydata) { //--
            console.log(mydata);
            if (data.email == null) {
                alert("You must allow us to access your email id!");
                ResetAnimate();
            }
            else {
                callback(data); // <=== Trigger the callback
            }
        }
       // ...
    }
    // ...
}