【问题标题】:Jquery Ajax in .Net Unexpected token <.Net 中的 Jquery Ajax 意外令牌 <
【发布时间】:2014-09-11 06:54:28
【问题描述】:

我用javascript写了一个函数

function abc()
{
   var Url = "MyService.svc/MyMethod";
   var Param = '{"Keyword":"' + Keyword + '","Type":"' + type + '"}';
   $.ajax({
      type: "POST",
      url: Url,
      data: Param,
      contentType: "application/json; charset=utf-8",
      dataType: "json",
      success: function (msg) {
         var pdResults = msg.MyServiceResult;
      },
      error: function (xhr, ajaxOptions, thrownError) {
      }
   });
}

//--------------------------------------------- ------

在服务器端我已经写好了方法

public string MyMethod(string Keyword, string Type)
{
  return "1";
}

//--------------------------------------------- ------ 问题:

问题是 Javascript 方法永远不会进入成功方法。 在错误方法中它显示

parse error: Unexpected token &lt;

我不知道是什么部分导致了这个问题。 我找不到解决办法,谁能解决。

【问题讨论】:

  • 您分享的代码不会重现这一点。它很可能来自其他地方......

标签: jquery .net ajax json


【解决方案1】:

我认为您应该在您的MyMethod 中返回"{ result: 1}""{ \"result\": 1 }"。因为jQuery 试图将响应解析为有效的JSON 字符串,但是您响应的是1,这是无效的。

更多信息请参见http://json.org

【讨论】:

  • 我试过了,没用。当我将 dataType 写为“jsonp”时,它会调用服务器端方法,但如果我将其写为“json”,它不会调用服务器端方法。
  • type: "POST" 更改为 type: "GET" 并重试。
  • POST 到 GET...成功了...! :) 谢谢人!但它奇怪的 POST 不起作用
  • 我认为您应该更改服务器端代码,但我不熟悉 .NET。这是一个链接,也许它可以帮助你。 stackoverflow.com/questions/41155/…
【解决方案2】:

我认为您应该在 开发者工具fiddler 之类的工具中监控实际将哪些参数发布到服务器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-26
    • 1970-01-01
    • 1970-01-01
    • 2013-01-28
    • 1970-01-01
    • 2015-04-11
    • 1970-01-01
    相关资源
    最近更新 更多