【发布时间】:2012-01-14 15:17:51
【问题描述】:
我可以根据此处找到的示例使用他们的 XML REST API 创建缺陷:https://rally1.rallydev.com/slm/doc/webservice/rest_xml.jsp
但是,我无法将 jquery 与他们的 JSON api 一起使用: 这就是我提交 PUT 以创建缺陷的方式:
var defectData = JSON.stringify(
{
Description: 'bla bla bla bla',
Name: 'This is the defect name',
Priority: 'None',
ReleaseNote: 'false',
Severity: 'Major Problem',
State: 'Open',
Owner: "https://<rallysite>/slm/webservice/1.28/user/<myuserid>.js"
}
);
$.ajax({
url: "https://<rallysite>/slm/webservice/1.28/defect/create",
type: 'PUT',
mimeType: 'application/javascript',
data: { 'Defect': defectData },
dataType: 'json',
username: "<myusername>",
password: "<mypassword>",
success: function(data){
console.log(data);
}
});
我没有看到通过 firefox 上的 firebug 或通过 IE 中的开发工具提交的 PUT 请求。我也没有看到任何错误。 我尝试做一个简单的 GET 请求来查询我在 Rally 中的项目,结果没问题。
不知道我做错了什么,希望得到帮助。谢谢!
【问题讨论】:
-
如果您从不同的域请求数据,您将遇到常规 AJAX 请求的问题,您需要为跨域请求执行 JSONP 请求:`$.ajax({dataType: 'jsonp'});
-
注意他说他已经让 GET 工作了,所以我不认为是这样。
标签: jquery ajax json http rally