建立在弗洛里安的答案之上——因为当我在这里指出一些错误时他删除了他的答案,请略读他在历史上的答案。他在此处推荐了有关文档更新处理程序的文章和此处的示例。至少有两个问题,这里的 XMLHttpRequest需要一个字符串,而不是对象——我编辑了他的答案以添加 XMLHttpRequest -manual 以进行进一步调查,但由于某种原因有人取消了编辑。因此,我正在做出自己的答案,其中包含最多的修复,但仍然会刺激我仍在尝试解决的 DOM 11。
// By this function we solve the problem with Object,
// changing JSON -object to string. The source is:
// https://stackoverflow.com/questions/111529/create-query-parameters-in-javascript
function EncodeQueryData(data)
{
var ret = [];
for (var d in data)
ret.push(encodeURIComponent(d) + "=" + encodeURIComponent(data[d]));
return ret.join("&");
}
// We use ready CouchDB -example, source:
// http://wiki.apache.org/couchdb/HTTP_Document_API#PUT
var datas = {
"Subject":"I like Plankton",
"Author":"Rusty",
"PostedDate":"2006-08-15T17:30:12-04:00",
"Tags":["plankton", "baseball", "decisions"],
"Body":"I decided today that I don't like baseball. I like plankton."
};
// We use the default -function, please, see the O'Reilly.
// https://developer.mozilla.org/En/XMLHttpRequest/Using_XMLHttpRequest
var xhr = new XMLHttpRequest();
// This may be wrong
xhr.open( 'POST', 'test.js', true );
xhr.setRequestHeader( 'Content-Type', 'application/json' );
xhr.open( 'POST', '127.0.0.1:5984/test/559c327683fe0acb96aff72bd174c258', true);
var msg = EncodeQueryData(datas);
xhr.send(msg);
去做
- 现在有一个错误 XMLHttpRequest “不处理嵌套对象”而是字符串,所以我们需要更复杂的命令或带有 XMLHttpRequest 的数组。我感谢 C.*rk 帮助我解决这个问题。
- 可能与 test.js 相关,正在调查错误:
"XMLHttpRequest cannot load %3127.0.0.1:5984/test/559c327683fe0acb96aff72bd174c258. Cross origin requests are only supported for HTTP. Error: NETWORK_ERR: XMLHttpRequest Exception 101"
相关谜题
- [已解决]使用 JSON -headers 初始化 XMLHttpRequest 时解释 DOM 11 错误