我想通过这样的请求,接收信息(联系人列表)到网址:
var oModel = new sap.ui.model.odata.ODataModel(
"http://myserver.abc.com:8010/sap/opu/odata/sap/contact_person_srv/ContactPerson"
);
console.log(oModel);
如果我在通过浏览器这个地址询问,一切工作正常:
Request Method:GET
Status Code:200 OK
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8,en-US;q=0.6,en;q=0.4,uk;q=0.2
Cache-Control:max-age=0
Connection:keep-alive
Cookie:sap-contextid=SID%3aANON%3asyb-nr8_NR8_10%3akz_pnaJCXLoloQuOmUyvxNcb9BVY8nZMBEzdU43u-NEW; SAPWP_active=1; sap-login-XSRF_NR8=20160225162649-bzlhG6X3gJoHL7alyJfmiQ%3d%3d; sap-usercontext=sap-language=RU&sap-client=100; SAP_SESSIONID_NR8_100=vfnkrJWROAaG0TLwlhWVE5FPeNLb3BHlhF4ADCnEUZs%3d
Host:myserver.abc.com:8010
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36
但是,从我的控制器的要求采取以下形式:
Request URL:http://myserver.abc.com:8010/sap/opu/odata/sap/contact_person_srv/ContactPerson/$metadata
Request Method:OPTIONS
Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8,en-US;q=0.6,en;q=0.4,uk;q=0.2
Access-Control-Request-Headers:accept, accept-language, maxdataserviceversion
Access-Control-Request-Method:GET
Connection:keep-alive
Host:myserver.abc.com:8010
Origin:http://localhost:63342
Referer:http://localhost:63342/test/webapp/index.html
User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36
为什么请求的方法 - OPTIONS
?
如何使GET
?
为什么把它添加到请求字符串/$metadata
?
服务器响应于请求XML消息发送,如何获得导致普通的javascript对象的数据?
如果我会做这种方式:
$.ajax({
type: 'GET',
url: 'http://myserver.abc.com:8010/sap/opu/odata/sap/contact_person_srv/ContactPerson',
success: function(data){
console.log(data)
}
});
这一切工作正常!
我附从截图服务器响应,帮助我理解。
“元数据”包含有关通过网络发送的类型的重要信息。否则,你的客户不知道你是否收到一个'Integer'或'String'或'Bool'。实际的响应数据实际上是作为JS对象存储的。我相信它可以通过'oModel.oData'找到。但请记住它已加载异步并且不可立即使用。 – Marc
@Marc,你可以在我的例子中展示如何做正确的事情? – sanu0074
@ sanu0074您是否找到了解决方案? –