个人Web服务返回的xml格式不正确



我正在构建一个Web服务。服务器程序是使用Ocamlnet库用OCaml编写的。

服务器提供html页面(和css/js文件),还可以通过发送json编码的字符串来响应特定的请求。

我有一个html客户端接口,它使用jquery ajax请求向服务器发出请求。

每次我提出请求时,我都会出现以下错误:

Erreur d’analyse XML : mal formé
Emplacement : http://localhost:1512/sim_commands/?command=my_command
Numéro de ligne 1, Colonne 1 :

请注意,无论请求什么,位置总是

line : 1, column : 1

还要注意,这个错误并没有阻止我的服务按预期工作,数据的接收和处理没有问题,但是,如果没有错误,情况会更好。

我怀疑我的错误来自于我发送和接收json数据的方式,因为我对web请求的规范几乎一无所知。

下面是进行ajax调用的函数:

self.ajax = function(uri, method, data) {
var request = {
url: uri,
dataType: 'json',
data: data,
crossDomain: true,
success : function(json) {
console.log(json);
},
error: function(jqXHR) {
console.log("ajax error " + jqXHR.status);
}
};
return $.ajax(request);
}

因此,我想知道客户端是否缺少处理原始json数据的功能,或者服务器端是否有一些特定的选项来传递这种数据。

好吧,我终于解决了我的问题。

干净的方法是在发送数据之前设置cgi头:

cgi # set_header ~content_type:"application/json" ();
cgi # out_channel # output_string response;
cgi # out_channel # commit_work();

(其中ajax调用需要"application/json"。

但也可以使用在ajax端覆盖它

beforeSend: function(xhr){
if (xhr.overrideMimeType)
{
xhr.overrideMimeType("application/json");
}
}

作为ajax调用中的参数。

相关内容

  • 没有找到相关文章

最新更新