【问题标题】:Retrieve Dynamics CRM customer information using ODATA and jQuery使用 ODATA 和 jQuery 检索 Dynamics CRM 客户信息
【发布时间】:2017-06-13 11:15:57
【问题描述】:

我正在尝试使用 jQuery AJAX 和 ODATA 从 Dynamics CRM 检索客户信息。

$.ajax({
    url : oDataUri,
    headers : {
        Accept: 'image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap,application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*',
        'Content-Type': 'application/x-www-form-urlencoded',
        'Access-Control-Allow-Origin' : '*'
    },
    crossDomain: true,
    xhrFields: {
        withCredentials: true,
    },
    dataType: 'jsonp',
    beforeSend : function(xhr){
        console.log(xhr);
    },
    complete : function(xhr){
        console.log(xhr);
    },
    success : function(xhr){
        console.log(xhr);
    },
    error : function(xhr){
        console.log(xhr);
    }
});

我做错了什么?我得到的错误是:

Uncaught SyntaxError: Unexpected token

【问题讨论】:

  • 您是否从外部访问 CRM 数据。你能显示 oDataUri 的值吗?

标签: jquery odata dynamics-crm crm microsoft-dynamics


【解决方案1】:

我猜响应类型不是 JSON 字符串,你确定它是 JSON,如果不是你必须删除它:

dataType: 'jsonp',

希望对你有帮助,

【讨论】:

  • 如果我删除它,身份验证失败,即我没有弹出输入用户名和密码的窗口
  • 你不在这里解决这个问题吗:stackoverflow.com/questions/43212475/…
  • 对不起。我的意思是编辑上一个问题的标题以删除检索。它应该读起来像 "Logging into CRM dynamics using jQuery"
  • 所以,您正在请求 JSON 响应,但服务器端函数正在发送其他类型,这就是您收到该错误的原因,您确定它是 jsonp 而不是 json?如果是这样,你能提供服务器响应的类型吗?
  • 第一个请求应该让我登录。它失败了(但仅在响应类型上)但仍然让我进入/通过。第二个请求应该发回它不是的 ODATA 信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多