优先级的web-SDK的.login功能包括当使用下面的示例代码的网页返回一个错误请求的脚本:错误请求优先级的Web-SDK的功能的.login
<script
src="https://cdn.priority-software.com/upgrades/var/api/v1.5/priorityapp.nocache.js">
</script>
<script>
var config = {
url: 'https://www.eshbelsaas.com/ui/',
...
};
function priorityReady() {
login(config).then(
onsuccess=>
{
console.log('Your are in!! Enjoy!');
},
reason=>
{
console.log(reason.message);
}
</script>
全身体消息如下:
XMLHttpRequest无法加载www.eshbelsaas.com/.../service.svc。对预检请求的响应不会通过访问控制检查:请求的资源上不存在“访问控制 - 允许来源”标头。因此不允许原产地'null'访问。响应有HTTP状态代码400
同样的行为被展出:
- 铬
- 边缘
- 的JavaScript UWP应用
不过,我能NPM包在node.js中并使用相同的配置设置登录:
var priority = require('priority-web-sdk');
var config = {
url: 'https://www.eshbelsaas.com/ui/',
...
};
priority.login(config)
.then(() => priority.formStart('CUSTOMERS', null, null, 'demo', 0))
.then(form => form.getRows(1))
.then(rows => console.log(rows))
.catch(err => console.log(err));
虽然在这一点上我得到一个权限错误。
Debugger listening on [::]:5858
{ type: 'apiError',
code: null,
message: 'Privilege required for \'Customers\' form (internal name = CUSTOMERS, company = Demo Company). Contact your system manager.',
form: null,
fatal: true }
更新2
按@leor |的评论我已经添加访问控制头到/ WCF一个V18服务器上。
telnet erpdemo.emerge-it.co.uk 80
GET /wcf/wcf/service.svc HTTP/1.1
HOST:erpdemo.emerge-it.co.uk
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 6437
Content-Type: text/html; charset=UTF-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, HEAD
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept
Access-Control-Allow-Credentials: true
Date: Wed, 21 Jun 2017 10:42:04 GMT
...
不幸而clientUI不再出缺少访问控制允许来源标题时,预检仍然失败:
XMLHttpRequest cannot load https://erpdemo.emerge-it.co.uk/wcf/wcf/service.svc.
Response for preflight has invalid HTTP status code 400
我可以确认需要什么样的头,预检,请?
感谢你! - 我试图破解http重定向:[img](!http://tinypic.com/r/2hf6lup/9),但该程序包仍然检测到302'd文件是从不同域到client.js。我使用的是VS,但我想我可以等到我们有了一个新的v18服务器来将客户端放在与service.wcf相同的网址上。 –
@Leor你能详细解释一下吗?当提到HTTP头时,你是指Access-Control-Allow-Origin?你能解释一下如何破坏CORS的目的吗?如果我将Allow-Origin设置为“my-other-domain.com”? 您可以分享更多关于如何设置网络代理吗?这将如何或多或少地安全? 我应该从你的回答中了解到优先级只支持优先级服务器内的API/SDK调用吗?这感觉会限制为我们的客户创建服务的能力。 – Abe