0

我在 Asp.net 中使用X-Editable Plugin和 jquery Datatables来编辑我的表。我正在使用 jQuery $.ajax() 方法来调用控制器中的方法,但是在调用此函数时它没有命中该方法。任何人都知道如何使用 jQuery $.ajax() 方法吗?

$('#example').dataTable();
"fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {                  
               $('td', nRow).wrapInner('<a class="xediable-example" href="#"></a>').editable({
                   type: 'text',
                   pk: 1,
                   name: 'test',
                   url: function (params) {                           
                         var urlj = "TestMethod"
                           return $.ajax({
                           type: 'POST',
                           url: urlj,
                           data: JSON.stringify(params),
                           contentType: 'application/json; charset=utf-8',
                           dataType: 'json',
                           async: false,
                           cache: false,
                           timeout: 10000,                              
                       });
                   }
               });                   
               return nRow;
           }
       });

控制方式:

public static string TestMethod(string name, string pk, string value)
{
    return "" ;
}

错误信息 :

Erreur du serveur dans l'application '/'.La ressource est introuvable. Description : HTTP 404. La ressource recherchée (ou l'une de ses dépendances) a peut-être été supprimée ou renommée ou bien elle n'est plus disponible temporairement. Vérifiez l'URL ci-après et assurez-vous qu'elle est correcte. URL demandée: /H41_TitreConge/TestMethod Informations sur la version : Version Microsoft .NET Framework :4.0.30319; Version ASP.NET :4.0.30319.17929
4

4 回答 4

0
var urlj = "TestMethod"

不是有效的 URI。

将其更改为 http://TestMethod 但是您设置了您的环境。

如果您键入服务 URL/TestMethod,只需尝试在浏览器中访问 TestMethod,它实际上应该会给您一些合理的消息。

于 2013-09-26T11:26:15.043 回答
0

您的网址应为:

var urlj = '/YOUR_CONTROLLER_NAME/TestMethod'

你的测试方法必须是这样的:

[HttpPost]
public JsonResult TestMethod(string name, string pk, string value)
{
    return Json( ... )
}
于 2013-09-26T11:30:11.183 回答
0

尝试这个:

var urlj = "@Html.Action("TestMethod")"
于 2013-09-26T11:41:16.987 回答
0

通过将 URL 更改为此也可以!试试看,

url: '@Url.Action("ActionName","ControllerName")',
于 2013-09-26T11:41:55.260 回答