AJAX updating the wrong table

0

I have this AJAX function to update a table, it looks like this:

 function incluirFornecedor(idItem) {
    var url = "/Produto/incluirFornecedorN";
    $.ajax({
        url: url
        , data: { id: idItem }
        , type: "POST"
        , datatype: "html"
        , success: function (data) {
            $("#tabelaf").html("");
            $(data).each(function () {
                $("#tabelaf").append("<tr><td>" + data.resultado + "</td><td>" + data.ProdutoID + "</td></tr>");
            });
        }
    });
}

And here's the controller's function:

[HttpPost]
    public ActionResult incluirFornecedorN(int id)
    {
        int produtoID = (db.Produtos.Max(a => a.Id) + 1);
        var fornecedor_produto = db.ProdutosFornecedores.Where(p => p.ProdutoID == produtoID).Where(p => p.FornecedorID == id).ToList();

        var item = new ProdutosFornecedores()
        {
            FornecedorID = id,
            ProdutoID = (produtoID)
        };

        return Json(new { Resultado = item.FornecedorID, item.ProdutoID });
    }

But it appears the id, I wanted it to appear the name, same is in the table, follows the HTML:

 <table class="table table-responsive table-hover" id="tabelaf">
                        <tbody>
                            @foreach (var item in Model.ProdutosFornecedores)
                            {
                                <tr class="tr">
                                    <td>@item.FornecedorProduto.Nome</td>
                                    <td align="right">
                                        <a class="link-excluir" href="#" data-id="@item.Id" title="Excluir"><i class="fa fa-trash-o fa-lg"></i></a>&nbsp;
                                    </td>
                                </tr>
                            }
                        </tbody>
                    </table>

It brings up the id, in the ViewModel, it has the setting to appear the name correctly, but when added by ajax, it does not appear.

    
asked by anonymous 09.08.2018 / 16:20

1 answer

1

Instead of:

var item = new ProdutosFornecedores()
    {
        FornecedorID = id,
        ProdutoID = (produtoID)
    };

Put something like:

var item = new ProdutosFornecedores()
    {
        FornecedorProduto = fornecedor_produto,
        ProdutoID = (produtoID)
    };

And in the return of JSON, reference FornecedorProduto , not FornecedorId .

    
09.08.2018 / 17:04