【问题标题】:How to call server side function from json?如何从json调用服务器端函数?
【发布时间】:2014-08-13 05:06:11
【问题描述】:

这是我的代码

<script type="text/JavaScript">
     var myarray = new array();
     function getsvg1() {

         $.ajax({
         alert("hello");
             type: "post",
             url: "WebForm1.aspx/getsvg1",
             alert("abc");
             contentType: "application/json; charset=utf-8",
             dataType: "json",
             success: function (response) {
                 var cars = response.d;
                 alert(cars);
                 alert("hi");
             },
             failure: function (msg) {

                 $('#output').text(msg);

             }
         });
    }
</SCRIPT>

网络服务

  [System.Web.Services.WebMethod]
  public static ArrayList getsvg1()
    {

        XDocument doc =        XDocument.Load(System.Web.HttpContext.Current.Server.MapPath("~/NewFolder1/10000.svg"));
        //XDocument doc = XDocument.Load(System.Web.HttpContext.Current.Server.MapPath("~/Uploads/Orders/100001_PRO/2/svg0.svg"));
        //XNamespace ns1 = "http://www.w3.org/2000/svg";
        //Namespace of a root element can also be retrieved like this:
        //XNamespace ns1 = doc.Root.GetDefaultNamespace();
        //var g = doc.Descendants(ns1 + "image").FirstOrDefault();
        // XDocument doc = XDocument.Load(Server.MapPath("~/excelfiles/svg0.svg"));
        XNamespace ns1 = "http://www.w3.org/2000/svg";
        //Namespace of a root element can also be retrieved like this:
        //XNamespace ns1 = doc.Root.GetDefaultNamespace();

        var retrieveimage = doc.Descendants(ns1 + "image").FirstOrDefault();
        var retrivetext = doc.Descendants(ns1 + "g").FirstOrDefault();
        ArrayList arlelem = new ArrayList();
        foreach (XElement element in doc.Descendants(ns1 + "g"))
        {
            //string[] parts = element.Split(',');
            Console.WriteLine(element);
            arlelem.Add(element);

        }

        // var retrivetext1 = doc.Descendants(ns1 + "text").SelectMany(i => i.ElementExtensions.Select(e => e.GetObject<XElement>().Attribute("url").Value)).ToArray();
        //var retrivetext = doc.Descendants(ns1 + "text").All();
        string v = arlelem[1].ToString();
        string values = retrieveimage.ToString();
        string values1 = retrivetext.ToString();
        char[] delimiterChars1 = { ' ', ',', '"', '\\', '\t', '=' };

        //string text = "one\ttwo three:four,five six seven";
        //System.Console.WriteLine("Original text: '{0}'", text);


        string[] words = values.Split(delimiterChars1);
        string[] words2 = values1.Split(delimiterChars1);
        string[] newword = v.Split(delimiterChars1);
        //Session["newimgwidth"] = words[15];

        return arlelem;
    }

警报不会针对汽车值,断点不会针对成功和失败。在这个例子中,我正在调用服务器端函数 json那个函数结果

【问题讨论】:

  • 你有一个语法错误alert("hello");应该加在$.ajax({之前
  • $.ajax({ alert("hello"); 中的警报仍然是错误的...应该是alert("hello");$.ajax({..
  • 删除警报("abc");也

标签: javascript jquery asp.net ajax json


【解决方案1】:

首先你的 ajax 请求充满了语法错误。

  1. $.ajax({ }) 块内不能有alert("hello");
  2. 删除警报(“abc”);太
  3. 在您的成功方法中使用 console.log() 而不是警报,这不是错误之一,而是建议/建议。
  4. 如果出现错误,您的方法返回什么?在您的 ajax 错误方法中,它似乎需要一个字符串值。
  5. 当您没有向您的方法发布任何数据时,为什么要使用type: "post"。请改用“get”。
  6. 要调试您的服务器端代码,请尝试在您的浏览器窗口中打开WebForm1.aspx/getsvg1 url,看看您是否得到预期的响应。如果一切顺利,接下来尝试使用 postman rest client 之类的客户端发送 ajax 请求以再次检查响应。

希望这会有所帮助。

【讨论】:

  • 在您的问题中分享您更新的代码。以及您得到的共享错误是什么,包括控制台错误(如果有)。
  • 我用过console.log(array name);
  • 但它没有提醒数组结果
  • console.log(array) 不会提醒它会写入您的控制台窗口。要打开控制台窗口,请按 f12。
【解决方案2】:

您可以为此使用 jQuery:

$.getJSON( "http://server.com/webservice", function( data ) {
   console.log(JSON.stringify(data));
}

查看更多详情:http://api.jquery.com/jquery.getJSON/

【讨论】:

    【解决方案3】:

    {key,value } 它允许 json 数据。意味着已经可用的选项或仅新定义 json 值。您可以输入,如果您尝试 alert("hello") 它不允许。所以它停止了。所以,请尝试在括号内使用 {} 而不使用警告消息。

    【讨论】:

      猜你喜欢
      • 2010-11-03
      • 1970-01-01
      • 2018-10-19
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      • 2015-01-10
      • 2012-11-18
      • 2016-01-15
      相关资源
      最近更新 更多