Jquery personnal webservice返回格式错误的xml
我正在构建一个Web服务。 服务器程序是使用库在OCaml中编写的 服务器提供html页面(和css/js文件),还可以通过发送json编码的字符串来响应特定请求 我有一个html客户端界面,它使用jQueryAjax请求向服务器发出请求 每次我提出请求时,都会出现以下错误:Jquery personnal webservice返回格式错误的xml,jquery,ajax,web-services,Jquery,Ajax,Web Services,我正在构建一个Web服务。 服务器程序是使用库在OCaml中编写的 服务器提供html页面(和css/js文件),还可以通过发送json编码的字符串来响应特定请求 我有一个html客户端界面,它使用jQueryAjax请求向服务器发出请求 每次我提出请求时,都会出现以下错误: Erreur d’analyse XML : mal formé Emplacement : http://localhost:1512/sim_commands/?command=my_command Numéro de
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调用中的参数