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的简单空文本文件替换了看起来复杂的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,则需要将其发送到服务器,并让服务器处理写入文件或数据库的操作。
相关文章:
- 如何播放部分音频文件
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何使用WCF服务和javascript表单post上传.doc文件
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何在php文件中获取$.post-ajax传递的值
- 直接下载文件,而不是从window.open(url)
- 如何使用gulp-test和karma在浏览器中调试Javascript测试文件
- 如果“.jshintrc”和“karma.conf.js”,Jasmine“test”文件夹的一部分受到版本控制
- 余烬构建命令失败并显示错误:没有这样的文件或目录,lstat ../ember-cli-test-loader/test
- 如何在nodejs中包含像test.cookie这样的非js文件
- 从JS中运行karma test,不需要配置文件
- I'我正在尝试使用Ajax捕获facebook数据,并将其写入名为test.txt的文本文件中
- PHP头文件("location: test.php")不工作.但是java脚本重定向工作
- 在test.js文件中使用php变量