Pergunta

Eu enfrentei um próximo problema:

Em nosso banco de dados, temos objetos com IDs, como 4040956363970588323. Estou escrevendo um pouco do cliente no cliente em jQuery para interagir com esses objetos. O cliente recebe dados básicos sobre objetos através de um Ajax solicitação, como:

$.ajax({
        url: "/api/pages/",
        type: "get",
        dataType: "json",
        data: {"id": site_id},
        success: function(data){
            if (data.success){
                for (var pidx in data.pages){
                    console.log(data.pages[pidx].id);
                    var li = $('<li class="ui-widget-content"></li>');
                    var idf = $('<input type="hidden" id="pid" value="{0}"/>'.format(data.pages[pidx].id))
                    var urlf = $('<input type="hidden" id="purl" value="{0}"/>'.format(data.pages[pidx].url))
                    li.text(data.pages[pidx].title);
                    li.append(idf);
                    li.append(urlf);
                    $("#selectable_pages_assign").append(li);
                }
                pages_was = $("#selectable_pages_assign>li");
            }
            else
                 updateTips(data.message);
        },
        error: function(){
             updateTips("Internal erro!");
        }
})

Então, como você vê, envio dados como JSON Objeto (um pouco de código do servidor):

return HttpResponse(dumps({
                        "success": True,
                        "pages": [{"id": page.id, "title": page.title, "url": page.image} for page in Page.objects.filter(site = site)]
            }))

De acordo com Firebug, servidor envie IDs corretos em dados, mas console.log(..) Em vez de ID correto (4040956363970588323), saídas id 4040956363970588000.

Por que isso acontece?

Sem IDs certos, qualquer chance de que meu assistente funcione corretamente :)

Foi útil?

Solução

Meu palpite é que algo está dando errado na conversão ao JSON. Quando você escreve o valor, provavelmente precisará colocar cotações em torno dele, para garantir que seja tratado como uma corda.

Outras dicas

da perspectiva do CRM, sem ideia!Mas eu acho, basicamente, você pode criar uma página no SharePoint onde você providencia sua WebPart.

Então você pode criar um iframe no CRM com o URL para o pageUrl + "isDlg=1", que esconderá o cabeçalho e a Nav esquerda, etc.

Você deve, no entanto, certifique-se de que todos os usuários que possam ver isso no CRM também tem acesso à página do SharePoint (para não obter um acesso negado)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top