Salesforce Can';t从javascript访问apex REST web服务

Salesforce Can';t从javascript访问apex REST web服务,salesforce,apex-code,visualforce,Salesforce,Apex Code,Visualforce,我在我的开发人员组织中创建了示例REST api类(在这里找到),并试图在同一组织的visualforce页面上通过javascript点击它,但我得到以下错误: “网络错误:不允许使用405方法- 根据上述链接中的指南,405表示“请求方法没有相应的Apex方法” 有什么想法吗?以下是相关代码: 顶点类: @RestResource(urlMapping='/Account/*') global with sharing class MyRestResource { @HttpGet

我在我的开发人员组织中创建了示例REST api类(在这里找到),并试图在同一组织的visualforce页面上通过javascript点击它,但我得到以下错误:

“网络错误:不允许使用405方法-

根据上述链接中的指南,405表示“请求方法没有相应的Apex方法” 有什么想法吗?以下是相关代码:

顶点类:

@RestResource(urlMapping='/Account/*')
global with sharing class MyRestResource {
   @HttpGet
   global static Account doGet(RestRequest req, RestResponse res) {
      ...
   }
}
Visualforce页面(javascript):


我猜您的开发人员组织是命名空间的,这意味着您有一个托管包。要在这样的组织中使用apex REST服务,必须在URL中包含名称空间前缀。因此,在这种情况下,您需要将请求发送到

/services/apexrest/<namespace>/Account/001E000000B9GjD
/services/apexrest//Account/001E000000B9GjD

希望这能有所帮助。

您尝试过使用
urlMapping
属性吗?我尝试过使用不同的映射创建另一个类,但也没有成功。请尝试使用apigee(www.apigee.com)测试您的服务,这将帮助您发现rest服务是否正常工作。我还认为您正在寻找Javascript rmeoting,而不是REST Api I。这个案例(请参阅)apigee.com有助于轻松调试。。非常感谢你!如果您试图使用AJAX从域“c.na12.visual.force.com”上的Visualforce页面调用域“na12.salesforce.com”上的RESTAPI,您将被JavaScipt的同源策略阻止,根据该策略,您正在执行跨站点脚本冲突。如果您不能接受pbattison的建议并使用jsremoting,那么可以看看Force.com JavaScript REST工具包),它通过代理解决了这个问题。
/services/apexrest/<namespace>/Account/001E000000B9GjD