Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery personnal webservice返回格式错误的xml_Jquery_Ajax_Web Services - Fatal编程技术网

Jquery personnal webservice返回格式错误的xml

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

我正在构建一个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 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调用中的参数