悪いタイトルで申し訳ありませんが、他に何と呼べばいいのかわかりません。ハッキングされたコードが十分な情報を提供することを願っています。(気軽に笑って私を指さしてください。ただし、その間、建設的なものを提供することを忘れないでください。)
24、27、31、および43行目は、私の問題が存在する場所です。27行目には私が期待しているデータが含まれています(26行目には私が期待しているデータが表示されています)。ただし、その情報を24行目のfetchResultsに返そうとしていますが、それは明らかに発生していません。fetchResultsは空です。
これは、27行目が24行目の無名関数に結果を返しているためだと思いますが、そこからはどこにも行きません。
43行目は、結果を使用する予定の場所です。(はい、手作業で行番号を追加しました。)
1 $(document).ready(function() {
2
3 // Fetch XML generic fetch format
4 function genericFetch(entityType, fieldA, fieldB, valueX)
5 {
6 function onFetchError(xhr, status, errorThrown)
7 {
8 var errormsg = $(xhr.responseXML).find('Message').text();
9
10 alert('CrmFetchKit-Error occured: ' + errormsg);
11 }
12
13 var fetchxml = ['<fetch version="1.0" output-format="xml-platform" mapping="logical">',
14 ' <entity name="' + entityType + '">',
15 ' <attribute name="' + fieldA + '" />',
16 ' <attribute name="' + fieldB + '" />',
17 ' <filter type="and">',
18 ' <condition attribute="' + fieldA + '" operator="eq" value="' + valueX + '" />',
19 ' </filter>',
20 ' </entity>',
21 '</fetch>'].join('');
22
23 // Action: load the account with a certain name
24 var fetchResults = CrmFetchKit.Fetch(fetchxml).then(function (results) {
25 /* success handler */
26 alert("results: " + JSON.stringify(results, null, 4));
27 return results;
28 }, onFetchError);
29
30 alert("fetchResults: " + JSON.stringify(fetchResults, null, 4));
31 return fetchResults;
32 }
33
34
35 $('#ati_ittestingbutton2').click(function(){
36 var entityType = "product";
37 var fieldA = "productnumber";
38 var fieldB = "name";
39 var valueX = "SL64030";
40
41 var fetchResults = genericFetch(entityType, fieldA, fieldB, valueX);
42
43 alert("JSON: " + JSON.stringify(fetchResults, null, 4));
44 alert("fetchRes: " + fetchResults[0]['attributes']['productnumber']['value']);
45 });
46 });