0

我正在使用 curl 从 nuxeo 获取 json 数据,这是我的 curl 函数

curl -X POST -H "Content-Type:application/json+nxrequest" -d 
"{ params:
        {
            query:'SELECT * FROM Document'
        }
}" -u Administrator:Administrator http://localhost:8080/nuxeo/site/automation/Document.Query

此功能运行良好,但现在(使用 ajax 版本)我有错误 http 500。这是 ajax 版本的代码

function getData(){
        var uri = "http://localhost:8080/nuxeo/site/automation/Document.Query" ;
        var options = {  method : 'post', data : 'query=SELECT * FROM Document' };
        var myCall = new Ajax(uri,options);
        myCall.request();

   }
4

2 回答 2

0

数据需要是一个对象。尽管在 mootools 1.12 中不确定-您似乎正在使用它。

理论上:

new Ajax(uri, {
    method: 'post',
    data: {
        query: 'select * from Document'
    }
}).request();

http://jsfiddle.net/dimitar/z5QzL/

于 2012-07-05T15:36:59.087 回答
0

为了让 Nuxeo 正常工作,您需要确保在 AJAX 调用中完成这两件事(就像在 curl 调用中所做的那样)。

  1. 设置Content-Type:application/json+nxrequest为标题。
  2. 传入完整的 json 作为数据{"params":{"query":"SELECT * from Document"}}

如果您没有做这些事情,您将获得 500 的回报。

查看 Nuxeo 上的服务器日志 (server.log) 可能会帮助您准确解读使用 AJAX 发送的内容并帮助调试问题。

于 2012-07-10T14:37:24.110 回答