小编Kri*_*ish的帖子

在Amazon EC2上上传文件

我正在运行Amazon EC2实例.当我访问url时,我得到了Apache Test页面,它说我必须将我的文件上传到/var/html/

我的问题是,我该怎么做?我使用Mac OS X的终端来访问实例.

FTP似乎不起作用.还有其他方法吗?

macos terminal amazon-ec2

28
推荐指数
2
解决办法
4万
查看次数

Facebook喜欢和分享回调按钮

我有一个网页,我在其中放置了一个类似于Facebook的共享按钮,并且还存在相应的javascript回调函数.

现在问题是,javascript回调仅在用户"喜欢"时触发,并且在按下"共享"按钮时似乎不会触发.

就像我需要在每次他/她共享链接时奖励用户.而对于"喜欢",用户只能喜欢链接一次(不考虑不喜欢/重新喜欢).

我知道不推荐使用"共享"按钮.但Facebook现在提供了一个带有类似按钮的分享按钮.资料来源:https://developers.facebook.com/docs/plugins/like-button/

有没有办法从这个共享按钮触发这个回调方法?

这是我的代码:

我的HTML中BODY标记开头的代码: -

<div id="fb-root"></div>

<script>
    window.fbAsyncInit = function() {
    FB.init({
        appId: ' My App ID ',
        status: true,
        cookie: true,
        xfbml: true,
        oauth: true
    });
    FB.Event.subscribe('edge.create', function(response) {
        alert('You liked the URL: ' + response);

      });
};
(function(d) {
    var js, id = 'facebook-jssdk';
    if (d.getElementById(id)) {
        return;
    }
    js = d.createElement('script');
    js.id = id;
    js.async = true;
    js.src = "//connect.facebook.net/en_US/all.js";
    d.getElementsByTagName('head')[0].appendChild(js);
}(document));

        </script>
Run Code Online (Sandbox Code Playgroud)

用于显示Like&Share按钮的代码: -

<div class="fb-like" data-href=" My URL …
Run Code Online (Sandbox Code Playgroud)

javascript facebook callback facebook-like facebook-javascript-sdk

19
推荐指数
2
解决办法
4万
查看次数

node.js错误 - 抛出新的TypeError('第一个参数必须是字符串或缓冲区');

我正在尝试在node.js中实现一个基本的附加程序,它通过URL接受2个数字(GET请求)将它们加在一起,然后给出结果.


    var http = require("http");
    var url1  = require("url");

    http.createServer(function(request, response) {
      response.writeHead(200, {"Content-Type": "text/plain"});
      var path = url1.parse(request.url).pathname;

      if(path == "/addition")
      {
        console.log("Request for add recieved\n");

        var urlObj = url1.parse(request.url, true);

        var number1 =  urlObj.query["var"]; 
        var number2 =  urlObj.query["var2"];
        var num3 = parseInt(number2);
        var num4 = parseInt(number1);

        var tot = num3 + num4;

        response.write(tot);
        response.write(number1 + number2);

      }
      else
      {
        response.write("Invalid Request\n");              
      }
      response.end();

    }).listen(8889);

      console.log("Server started.");

当我运行时,我在控制台中收到"服务器启动"消息.但是当我请求网址时

`http://localhost:8889/addition?var=1&var2=20`

我收到以下错误:

http.js:593抛出新的TypeError('第一个参数必须是字符串或缓冲区');

当我注释掉显示变量'tot'的行时,代码正在运行,我得到的输出是我传递的2个get参数的连接值.在这种情况下,恰好是1 + 20 = 120.我无法将数据转换为数字格式.

代码中的错误在哪里?错误信息基本上是什么意思?

提前谢谢了.

node.js

11
推荐指数
1
解决办法
5万
查看次数

jQuery点击 - 防止在移动设备中多次点击

我正在使用Phonegap来构建我的iOS/Android应用程序 - 基本上是一个可以在我的笔记本电脑键盘上模拟几个键的遥控器.(控制视频播放等).

由于它是一个网页,我点击的图像连接到笔记本电脑上的Java Socket服务器.我面临的问题是,每次单击一个按钮 - 只需一次(如暂停按钮),我就会在java控制台中看到多个请求被触发.但只有当我在手机中点击(触摸)时才会发生这种情况.当我在笔记本电脑的浏览器中尝试相同的操作时,它的行为符合预期(只有一个请求).

我经历了几个帖子,一般建议是使用'unbind()'和'off()',但似乎没什么用.代码片段如下.

$("#play").off().on('click',function(){
        //alert("Play");

    jQuery.ajax({
    type: "GET",
    async: true,
    url: 'http://'+ip+':10007/function=play?',
    success: function (msg) 
        {  },
    error: function (err)
        { }
    });
});
Run Code Online (Sandbox Code Playgroud)

我使用该警报来检查事件是否被多次触发.警报只弹出一次,这意味着该事件只被触发一次.所以它只需点击一次(触摸)=>一个事件=>但多个请求!

我用这段代码检查服务器响应:

while(true) {                
      Socket sock = servsock.accept();                
      System.out.println("Connection from: " + sock.getInetAddress());                
      Scanner in = new Scanner(sock.getInputStream());                
      PrintWriter out = new PrintWriter(sock.getOutputStream());                
      String request = "";                
      while (in.hasNext()) {
          request = in.next( );                
          if (request.contains("function="))
          {
            inputLine = request.split("function=")[1];
            System.out.println ("^^^^^" + inputLine); 
            ...
Run Code Online (Sandbox Code Playgroud)

当从移动设备请求时,输出在控制台中出现三次,但是当我的笔记本电脑的浏览器请求时,输出只有一次.

我不明白为什么,也不确定如何防止它.有什么指针吗?

mobile jquery onclick phonegap-build

7
推荐指数
1
解决办法
346
查看次数

用Python读取另一个程序的控制台输出

有两个程序 - parent.py和myscript.py,如下所示.parent.py在控制台中保持打印消息.并且myscript.py需要访问parent.py打印的内容.

parent.py:

import time

while 1:
     time.sleep(1)
     print "test"
Run Code Online (Sandbox Code Playgroud)

myscript.py:

import subprocess
p = None

p = subprocess.Popen(['python', 'parent.py'],
                 stdout=subprocess.PIPE,
                 stderr=subprocess.STDOUT,
                 )
for line in p.stdout:
       print line
Run Code Online (Sandbox Code Playgroud)

我希望myscript.py动态地捕获parent.py的输出.可以看出,parent.py有一个无限循环 - 脚本永远不会停止,但每当它输出单词'test'时,myscript.py也应输出相同的内容.但myscript.py没有给出任何输出.

我尝试用parent替换parent.py中的代码

print "Hello"
Run Code Online (Sandbox Code Playgroud)

程序完成执行后,myscript.py也打印出"Hello".所以我想除非parent.py的执行完成,否则myscript.py不会读取它.那是什么事吗?

我也尝试用这个片段替换myscript.py中的循环:

for line in iter(p.stdout.readline, ''):
    print line
Run Code Online (Sandbox Code Playgroud)

仍然没有输出.

我的问题是:即使parent.py永远不会完成执行,我如何让myscript.py动态读取parent.py正在打印的所有内容.

(我发现了类似的问题,但是它们要么不起作用,要么根本没有答案.)

python subprocess stdout python-2.7

4
推荐指数
1
解决办法
6237
查看次数