2011-04-06 31 views
0

我試圖使用下面的代碼從web服務器(test.asmx.cs)中檢索數據,但不知何故,這總是把錯誤給我...有誰知道它出了什麼問題?無法使用ajax調用web服務器來獲取返回結果.net c#

using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Web; 
    using System.Web.Services; 

namespace Test 
{ 
    /// <summary> 
    /// Summary description for autocomplete 
    /// </summary> 
    [WebService(Namespace = "http://tempuri.org/")] 
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
    [System.ComponentModel.ToolboxItem(false)] 
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService] 
    public class autocomplete : System.Web.Services.WebService 
    { 

     [WebMethod] 
     public string HelloWorld() 
     { 
      return "Hello World"; 
     } 

     [WebMethod] 
     public static string streetNameSearch(int id) 
     { 

      return "Melbourne|North Melbourne|South Melbourne|Richmond|North Richmond"; 
     } 
    } 
} 

而下面的jQuery代碼已經把pgTest.aspx

$("#example").keyup(function() { 
    $.ajax({ 
     type: "POST", 
     url: "pgTest.aspx/streetNameSearch", 
     data: '{"id":"' + 1 + '"}', 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (data) { 
      var returnData = data.d; 
      alert(returnData) 

    }, 
    error: function (xhr, ajaxOptions, thrownError) { 
     alert(ajaxOptions); 
    }, 
    timeout: function (data) { 
     alert("time out"); 
    } 
}); 
}); 

enter image description here

+0

正在拋出的錯誤是什麼? – jon3laze 2011-04-06 03:18:04

+0

@ jon3laze:錯誤只是'錯誤', – 2011-04-06 03:24:21

+0

在你的方法streetNameSearch中放置一個斷點並檢查它是否被調用? – 2011-04-06 03:34:56

回答

1

取消註釋該行:

// [System.Web.Script.Services.ScriptService] 

的ScriptService屬性使所有的ASMX服務的方法與生JSON響應。

0

下試試這個

 public static JsonResult streetNameSearch(string id) 
     { 

      return Json("Melbourne|North Melbourne|South Melbourne|Richmond|North Richmond"); 
     } 

而在你喜歡這個

01 JavaScript的變化
+0

@Jayanthan:看起來像JsonResult和Json()不支持.net c#webservice – 2011-04-06 03:59:57

1

除了取消註釋ScriptService行之外,爲什麼您的$.ajax()方法以ASPX路徑爲目標,而您發佈的代碼來自ASMX服務?這肯定會導致問題。