2012-05-06 2 views
0

Код (ниже JSON) оценивает следующие данные JSON и возвращает «undefined», хотя ясно, что доступен системныйuserid. Заранее благодарим за помощь.JSON «undefined» при поиске CRM 2011 systemuserid

{ 
    "d" : { 
    "results": [ 
    { 
    "__metadata": { 
    "uri": "http://dynamics/DynamicsCRM/xrmservices/2011/OrganizationData.svc/new_new_license_sys  temuserSet(guid'561d5751-0496-e111-84f8-0050561a2a63')", "type": "Microsoft.Crm.Sdk.Data.Services.new_new_license_systemuser" 
    }, "new_new_license_systemuserId": "561d5751-0496-e111-84f8-0050561a2a63", "new_licenseid": "538e6567-8c95-e111-84f8-0050561a2a63", "systemuserid": "40dda08e-2ee5-e011-b843-0050561a2a63", "VersionNumber": null 
    } 
    ] 
    } 
    } 

    $.ajax(
    {  type: "GET", 
      contentType: "application/json; charset=utf-8", 
      datatype: "json", 
      url: odataSelect, 
      beforeSend: function (XMLHttpRequest) 
       { XMLHttpRequest.setRequestHeader("Accept", "application/json"); }, 
      success: function (data, textStatus, XmlHttpRequest) 
        {    
        ProcessReturnedEntity(data.d); 
        }, 
      error: function (XmlHttpRequest, textStatus, errorThrown) 
        { alert('OData Select Failed: ' + odataSelect); 
        } 
    }); 

    ProcessReturnedEntity = function(OneEntity) 
    { 
    var one = OneEntity; 
    var Userid = one.systemuserid; 
    alert(Userid); 
    } 
+0

Является ли это предупреждением с идентификатором пользователя, что это показывается неопределенным, или это где-то еще в коде? – Bassetassen

+0

это предупреждение, thx – tenright

ответ

1

Из json результата отвечал я считаю, вы должны попытаться получить доступ к systemuserid так:

var Userid = one.results[0].systemuserid; 
+0

Спасибо за помощь. Я пробовал ваши предложения и получаю эту ошибку: невозможно получить значение свойства systemuserid: object is null или undefined – tenright

+0

Можете ли вы опубликовать весь вывод JSON, возвращаемый вызовом ajax, и как вы извлекаете данные (URL)? Если объект, который вы пытаетесь получить, имеет отношение к системному пользователю, чем вы должны найти systemuserid, имеющий тип EntityReference в возвращаемом результате JSON. –

+0

JSON (ниже) ... спасибо за вашу помощь { "D": { "Результаты": [{ "__metadata": { "URI": «HTTP: // динамика/DynamicsCRM/xrmservices /2011/OrganizationData.svc/new_new_license_systemuserSet(guid'5f94a166-8ba0-e111-84f8-0050561a2a63 ') "," type ":" Microsoft.Crm.Sdk.Data.Services.new_new_license_systemuser " }," new_new_license_systemuserId ":" 5f94a166 -8ba0-e111-84f8-0050561a2a63 "," new_licenseid ":" 33a4d804-0696-e111-84f8-0050561a2a63 "," systemuserid ":" 40dda08e-2ee5-e011-b843-0050561a2a63 "," Номер версии ": null } ] } } – tenright

2

Вы использовали internet explorer F12 Developer Tools шагнуть в эту линию и проверить переменные, связанные? Вы упомянули «хотя понятно, что systemuserid доступен», если он не определен, он недоступен на этом объекте, или, возможно, сам объект по какой-либо причине является нулевым. Надеюсь, что помогает.

+0

Я не знаю, почему F12 не запускает инструменты для разработчиков ... Там должно быть быть настройкой, которую мне нужно изменить. Я администратор ... – tenright

+0

Ух, возможно ли, что вы находитесь на уровне IE до IE 8? – BenPatterson1

+0

Мне удалось заставить инструменты разработчика работать ... пришлось перезагрузить IE по умолчанию. – tenright