2012-05-11 62 views
1

這是我的課:LINQ到jQuery的jQuery的版本jQuery的1.7.2

Public Class Employeeclass 
Public Property Fname As String 
Public Property Lname As String 
Public Property Bdate As Date 
End Class 

這是我的方法:

<WebMethod()> 
Public Shared Function Getemployee(ByVal id As Integer) As List(Of Employeeclass) 
    Threading.Thread.Sleep(2000) 
    Dim db As New NorthwindEntities 
    Return db.Employees.Where(Function(q) q.EmployeeID = id).Select(Function(q) New Employeeclass With {.Lname = q.LastName, .Fname = q.FirstName, .Bdate = q.BirthDate}).ToList() 
End Function 

,這是我的腳本代碼:

$(document).ready(function() { 
     $("#btnsearch").click(function() { 
      $("#result").addClass("loading"); 
      $("#result").text(""); 
      $.ajax({ 
       type: "POST", 
       url: "Default.aspx/Getemployee", 
       contentType: "application/json;charset=utf-8", 
       data: "{'id':" + $("#txtsearch").val() + "}", 
       dataType: "json", 
       success: function (data) { 
        $("#result").removeClass("loading"); 
        var employee = data.d; 
        if (employee.length > 0) { 
         for (var i = 0; i < employee.length; i++) { 
          $("#result").append(employee[i].Fname + ","); 
          $("#result").append(employee[i].Lname + ","); 
          $("#result").append(employee[i].Bdate + "<br/>"); 
         } 
        } 
       } 
      }); 
     }); 
    }); 

與jquery版本「jquery-1.3.2.js」這一切都可以。
但是當我使用版本「jquery-1.7.2.js」或「jquery-1.7.2.min.js」。
iam出現此錯誤:消息=無效的Web服務調用,參數缺少值:'id'。
對不起我的英文不好

回答

0

我任何情況下,當我使用$.ajax() POST數據到一個WebMethod,我用我的JSON.stringify()對象上,以確保它是正確的。

以外的是,你可以嘗試改變周圍的報價:'{"id":' + $("#txtsearch").val() + '}',看是否與他們有麻煩吧...

+0

'// data:「{'id':」+ $(「#txtsearch」)。val()+「}」, // data:{id:$(「#txtsearch」) .val()}, // data:{「id」:$(「#txtsearch」)。val()}, // data:JSON.stringify({id:$(「#txtsearch」).val ()}), // data:JSON.stringify(tempvar),' –

+0

以上都不適合我。對不起,我的英語不好。 –

+0

我正在使用'data:JSON.stringify({dept:$(「#dept」).val()})'您是否嘗試過幷包含JSON2.js庫? – ShaneBlake

1

不要將數據包裝在字符串中。儘量只:

data: { id: $("#txtsearch").val() } 
+0

與您的解決方案我仍然得到錯誤... –

0

發送此

"{'id':" + $("#txtsearch").val() + "}" 

將只發送其不能被綁定到整數的JSON字符串
相反,你應該送一個JSON對象至極可以綁定到的ID類型整數

data:{"id":$("#txtsearch").val()} 

現在當你sedn的請求,你可以調試,看到數據正在發送像這樣

id=ur_value 
+0

上述解決方案沒有奏效爲了我。我收到錯誤。 –

+0

確保存在id爲「txtsearch」的輸入。並且你正在輸入一個有效的整數。 –

+0

您應該看到實際發送到服務器的請求。通過進入開發者工具(你可以通過按F12來做到這一點) –