一千萬個為什麽

搜索

使用Remote的JQuery驗證將空數據發布到webservice

我正在使用JQuery Validation插件。我正在使用遠程選項撥打我的網絡服務來檢查公司名稱是否存在。 Web服務僅接受JSON數據。

我將數據從表單中的公司輸入字段傳遞到Web服務,如下所示:

數據:“{'company':'”+ $('#Company')。val()+“'}”

但這總是為公司返回一個空白值,因此響應為{'company':''}即正確的JSON但缺少公司輸入字段值。

任何人都可以解釋為什麽我總是在這裏得到一個空白值?

謝謝您的幫助, 夏蘭

最佳答案

原因是

data:“{'company':'”+ $('#Company')。val()+“'}”

在進行遠程調用時頁面加載時評估。

嘗試以這種方式聲明規則:


remote: function() {  
    var r = {  
        url: "webservice.asmx",  
        type: "POST",  
        contentType: "application/json; charset=utf-8",  
        dataType: "json",  
        data: "{'company': '" + $('#Company').val() + "'}"  
        dataFilter: function(data) { return (JSON.parse(data)).d; }  
       }   
    return r;  
  }

如果您使用的是ASP.Net Web服務,則需要使用dataFilter,因為響應將位於json對象的“d”屬性中。需要JSON庫。

“{d:”true“}”

轉載註明原文: 使用Remote的JQuery驗證將空數據發布到webservice