在Python中处理JSON事件

2024-06-24 12:43:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我在google和stackoverflow上搜索过,都能找到一个好的答案。在

我的HTML页面上有一段代码,可以得到python的HTML输出(我使用jquery):

$.ajax({
    type: "POST",
    url: "getHTML.py",
    success: function(response)
    {
        $('body').append(response);
    }
});

python文件如下所示:

^{pr2}$

每件事都很好,我很高兴,但是。。。现在我尝试添加另一个由button click事件发送的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有类似于:

  1. 如果用户没有要求任何东西(通过JSON)加载默认页面
  2. 如果用户要求“stackoverflow”(通过JSON)加载www.stackoverflow.com网站在
  3. 如果用户要求“狗”加载www.DogsAreCool.com。在

tnx寻求帮助:)


Tags: 用户pycomjsonurlresponsehtmlwww
2条回答

您没有指定用于连接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响应发回正确的URL(200ok)
  • 您的ajax代码集window.location
  • 你的浏览器很乐意重定向

第二个:

相关问题 更多 >