Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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/4/jquery-ui/2.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
Javascript 在Python中处理JSON事件_Javascript_Jquery_Python - Fatal编程技术网

Javascript 在Python中处理JSON事件

Javascript 在Python中处理JSON事件,javascript,jquery,python,Javascript,Jquery,Python,我在谷歌和stackoverflow上搜索过,可以找到一个很好的答案 我的HTML页面上有一段代码,可以获取python的HTML输出(我正在使用jquery): python文件如下所示: baseHTML = "www.google.com" user_agent = "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)" headers = {"User-Agent": user_agent} req = urllib2.Request(baseH

我在谷歌和stackoverflow上搜索过,可以找到一个很好的答案

我的HTML页面上有一段代码,可以获取python的HTML输出(我正在使用jquery):

python文件如下所示:

baseHTML = "www.google.com"
user_agent = "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)"
headers = {"User-Agent": user_agent}
req = urllib2.Request(baseHTML, headers=headers)

forumHTML = urllib2.urlopen(req)

page = Soup(forumHTML)

for e in page.findAll('script'):
    e.extract()

print 'Content-Type: text/plain\r'
print '\r'
print page
一切正常,我很高兴,但是。。。现在我尝试添加另一个由按钮单击事件发送的JSON:

$('#GetByURL_button').on("click", function(){
    $.ajax({
        url: "getHTML.py",
        type: "POST",
        data: JSON.stringify({"newURL": "www.stackoverflow.com"),
        dataType: "json",
        success: function(response) {
            alert(response);
        }
    });
});
现在我不知道如何用python处理这个事件

因此,我想明确一点,python应该有:

  • 若用户并没有要求任何东西(通过JSON)加载默认页面
  • 如果用户要求“stackoverflow”(通过JSON)加载www.stackoverflow.com
  • 如果用户要求“狗”加载www.DogsAreCool.com

  • tnx帮助:)

    您没有指定用于连接Python脚本的框架或机制,并且您的示例根本没有显示处理输入的脚本

    因此,假设您使用的是一种机制,它将请求主体作为
    stdin
    ,就像老式的CGI一样。你可以这样做:

    content = sys.stdin.read()
    data = json.loads(content)
    newURL = data.get('newURL')
    if newURL == 'dog':
        newURL = 'http://www.DogsAreCool.com'
    elif not newURL:
        newURL = defaultPageURL
    response = urllib2.urlopen(newURL)
    # ...
    

    您没有指定用于连接Python脚本的框架或机制,并且您的示例根本没有显示处理输入的脚本

    因此,假设您使用的是一种机制,它将请求主体作为
    stdin
    ,就像老式的CGI一样。你可以这样做:

    content = sys.stdin.read()
    data = json.loads(content)
    newURL = data.get('newURL')
    if newURL == 'dog':
        newURL = 'http://www.DogsAreCool.com'
    elif not newURL:
        newURL = defaultPageURL
    response = urllib2.urlopen(newURL)
    # ...
    
    两种方法:

    • 您的服务器通过正常的http响应(200 OK)返回正确的URL
    • 您的ajax代码设置窗口位置
    • 您的浏览器很乐意重定向
    第二个:

    • 服务器发送带有正确
      位置
      标题的重定向响应
    • 你的
    • ajax在DOM中插入内容
    两种方法:

    • 您的服务器通过正常的http响应(200 OK)返回正确的URL
    • 您的ajax代码设置窗口位置
    • 您的浏览器很乐意重定向
    第二个:

    • 服务器发送带有正确
      位置
      标题的重定向响应
    • 你的
    • ajax在DOM中插入内容

    您运行的是哪种服务器?通过WSGI、CGI或mod_Python运行Python脚本的通用web服务器?一个标准的pythonweb服务器?定制的东西?你看过了吗?你是在尝试使用python编写一个
    代理吗?有没有充分的理由尝试使用相同的url来提供两个不同的响应?我的建议是使用路由:不同的URL提供不同的服务responses@fp-tnx,我现在用的是瓶子,它很棒而且很简单。你在运行什么样的服务器?通过WSGI、CGI或mod_Python运行Python脚本的通用web服务器?一个标准的pythonweb服务器?定制的东西?你看过了吗?你是在尝试使用python编写一个
    代理吗?有没有充分的理由尝试使用相同的url来提供两个不同的响应?我的建议是使用路由:不同的URL提供不同的服务responses@fp-tnx,我现在用的是瓶子,它很棒,也很简单。@DanielRoseman:是的,当然。但框架最多只能将前两行转换为一行(如果您使用的框架将使用对象调用函数,而不是使用
    stdin
    )运行脚本),因此大多数代码(虽然很简单)都是相同的。@DanielRoseman:是的,当然。但框架最多只能将前两行转换为一行(如果您使用的框架将使用对象调用函数,而不是使用
    stdin
    )运行脚本),因此大多数代码(尽管很简单)都是相同的。