I'我正在尝试使用Ajax捕获facebook数据,并将其写入名为test.txt的文本文件中

I'm trying to use Ajax to capture facebook data and write it to a text file named test.txt

本文关键字:test 文件 文本 txt 数据 捕获 facebook Ajax      更新时间:2023-09-26

我遵循了这个页面上的第二个答案,只是用一个名为test.txt的简单空文本文件替换了看起来复杂的php部分。我没有收到任何错误消息,但是文件仍然是空的(我似乎无法将数据写入我的文件;有人知道为什么吗?更好的是,我希望直接将数据写入mongodb数据库!使用Facebook登录Javascript SDK 获取用户数据

我的代码如下:

<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : '753236104711327',
      status     : true,
      xfbml      : true
    });
FB.login(function(response) {
if (response.authResponse) {
 console.log('Welcome!  Fetching your information.... ');
 FB.api('/me', function(response) {
   console.log(response);
$.ajax(
{
type : 'POST',
data : response, //all data 
url : 'test.txt',
success :   function()
{
console.log(response.name)
    }
});
});
} else {
 console.log('User cancelled login or did not fully authorize.');
}
}, {scope: 'user_birthday, friends_birthday, basic_info, user_about_me,   friends_about_me, user_education_history, friends_education_history, user_hometown, friends_hometown, user_interests, friends_interests, user_location, friends_location, user_questions, friends_questions, user_relationships, friends_relationships, user_relationship_details, friends_relationship_details, user_religion_politics, friends_religion_politics, user_work_history, friends_work_history'});
};
(function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/en_US/all.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));
</script>

如有任何帮助,我们将不胜感激!

您在这里所做的是向文本文件发送POST请求,这实际上没有意义,除非您将服务器设置为捕获请求。

$.ajax()调用的data:部分将给定的对象(在本例中为response对象)转换为查询字符串,然后作为请求的一部分发送。

就好像你在地址栏里输入了这个:

http://your.website.net/path/to/test.txt?responseProperty1=someData&responseProperty2=someOtherData

而CCD_ 5没有任何方法来处理查询字符串,因为它只是一个空文本文件。

您可能需要使用像PHP这样的服务器端语言来将数据写入文件。然后,您将ajax请求发送到服务器上的一个文件,该文件将能够处理请求参数:

$.ajax({
  type: 'POST',
  data: response,
  url: 'handle_response.php',
  success: function() {
    // it worked
  }
});

我不太擅长PHP,也许你无论如何都宁愿使用其他东西,所以我把它留在那里,但我希望这能帮助

您不能使用Javascript将数据写入文本文件。如果您想将数据写入文本文件或Mongo,则需要将其发送到服务器,并让服务器处理写入文件或数据库的操作。