gpt4 book ai didi

javascript - jquery.post() 后端响应,但回调函数参数为空

转载 作者:行者123 更新时间:2023-11-28 08:30:14 25 4
gpt4 key购买 nike

Linux bogon 3.9.5-301.fc19.i686,nginx1.4.2 + web.py0.37 + uwsgi2.01

我编写了一个html页面,它获取用户的输入(文本字符串),并将其发布到后端。后端只是读取输入字符串并将其发送回页面。

<script type="text/javascript">
jQuery(document).ready(function(){
jQuery("#ExtButton").click(function(){
var postdata = document.getElementById("url_to_get").value;
jQuery.ajax({
type: 'POST',
url: "http://127.0.0.1/TextPickup",
data: postdata,
success: function(data,status){alert("status:"+ status +",data:" +data)},
dataType:'html'
});
});
});
</script>
<input type="text" name="url_to_get" id="url_to_get" style="width:310px">
<button id="ExtButton">send</button>

以及后端的python脚本:

import web
import os
urls = (
'/','Index',
'/TextPickup','TextPickup',
'/TextAnalysis', 'TextAnalysis'
)

class Index:
...

class TextPickup:
def POST(self):
dest_url = web.data()
return dest_url + ".."

class TextAnalysis:
...

但是当我放置一些东西并单击按钮时,数据为空,如下所示: enter image description here

我检查了uWSGI的输出,

[pid: 20807|app: 0|req: 1/1] 127.0.0.1 () {50 vars in 800 bytes} [Sun Feb 23 13:44:58 2014] POST /TextPickup => generated 6 bytes in 2 msecs (HTTP/1.1 200) 0 headers in 19 bytes (2 switches on core 0)

甚至是wireshark: enter image description here很明显,后端已成功发送响应,包括字符串“test..”,但为什么回调函数没有获取响应字符串作为其参数?

更新:在 Firebug 中, enter image description here当我右键单击 http://127.0.0.1/TextPickup 并选择“在新选项卡中打开”时,出现了包含预期字符串“test..”的页面。但是,它应该是回调函数的参数。

最佳答案

我已经找到为什么不行了——web.py没有正确使用,浏览网页也是错误的

首先,我将文件排列如下:

folder1
--GetText.html
--cgi-bin
--TextAnalysis.py

只需单击文件 GetText.html 即可访问网页。发生了错误。

我回顾了一些关于web.py和jQuery的页面,例如random Bytes ,甚至一个论坛的源码使用了github上的web.py和jQuery,实现了/template文件夹不是不必要的。

现在我像这样重新排列文件

folder1
--TextAnalysis.py
--templates
--GetText.html

因此 GetText.html 中的 jquery.post() 更改为

jQuery.ajax({
type: 'POST',
url: "/TextPickup",
data: postdata,
success: function(data){alert(data);},
dataType:'text'
});

TextAnalysis.py中:

class Index:
def GET(self):
return render.GetText()

...

render = web.template.render('templates/') #add up

现在我通过在 Firefox 中输入 url http://127.0.0.1/ 来访问该网页,一切正常。

关于javascript - jquery.post() 后端响应,但回调函数参数为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21964849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com