我有一个本地运行的python应用程序在一个JSON对象的套接字上侦听。
我希望能够通过javascript从浏览器发送JSON对象来连接到python应用程序。有什么方法可以做到这一点?我想我应该研究XHR或websockets如何解决这个问题,但我不确定每个选项的优缺点是什么。
我尝试使用AJAX发布请求发送一个JSON对象,但它似乎没有像我期望的那样工作。
JNIEXPORT jclass JNICALL
Java_java_lang_Object_getClass(JNIEnv *env, jobject this)
{
if (this == NULL) {
JNU_ThrowNullPointerException(env, NULL);
return 0;
} else {
return (*env)->GetObjectClass(env, this);
}
}
python应用程序正在获取一些内容,但我无法提取JSON数据。这是python应用程序的当前输出:
$.ajax({
type: "post",
url: "http://localhost:8888",
crossDomain: true,
contentType: "application/json; charset=utf-8",
dataType: "json",
data: JSON.stringify(object),
success: function(result){...}
目前,我正在使用OPTIONS / HTTP/1.1
Host: localhost:8888
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:57.0)
Gecko/20100101 Firefox/57.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Origin: null
Connection: keep-alive
检索数据并将结果输出到屏幕。我是否需要修复我的AJAX消息或者是否需要修复我的python代码?或者是否有更大的图片我错过了。
答案 0 :(得分:0)
Websockets打开持久连接,用于实时通信。如果您需要标准的RESTful模型,那么HTTP就是您所需要的。
我不确定您使用的是哪个Python Web框架,但大多数Web框架应该允许您定义一个可以POST
到的路由,并帮助您将有效负载转换为一个对象在控制器中使用。
我建议您查找一些您正在使用的Python框架的常见示例。很确定他们会有一个如何处理POST请求的例子。
这里不需要websockets。