使用Ajax调用接收数据记录的问题

Problems using Ajax call to recieve data record

本文关键字:记录 问题 数据 Ajax 调用 使用      更新时间:2023-09-26

我在进行ajax调用以接收数据库对象时遇到了一些问题。我在视图中进行ajax调用,将视图中的一个HTML元素的值传递给控制器中的一个方法,该方法使用该值搜索并返回现有的数据记录。

我的ajax调用:

$.ajax({
  url: "/MyController/MyFunction/",
  data: {Value: myvalue},
  type: 'GET',
  success: function (result) {
      //do something...
  }

控制器方法:

 Function MyFunction(Value as String) As MyClass
   Dim record = SearchFunction(Value)
   Return record
 End Function

My data class:

Public Class MyClass
  Property Name As String
  Property Age As Integer
  Property DOB As Date
End Class

我遇到的问题是,在调用中收到的"结果"返回一个带有我的模型名称的字符串,即。"MyClass",即使控制器工作正常且"record"已成功设置为正确的数据记录。

我已经尝试了各种不同的潜在解决方案后,搜索互联网,包括不同的数据类型在ajax调用和不同的ajax调用,如$. getjson()代替,但没有工作到目前为止。

您需要在将对象返回给客户端之前将其转换为JSON。

return Json(record);

我现在不能测试它,所以我不知道它是否会自动解析整个对象,或者你需要手动进行映射。

Btw:还有一个JsonResult类型,你可能需要使用而不是ActionResult
编辑:我只是注意到你没有使用ActionResult那里。我不知道VB,所以我不确定你的语法是否正确。您肯定可以尝试返回JsonResult而不是string(这也可能是问题的一部分)。

Btw2:我会使用POST在你的ajax调用代替:)