1

我正在Visual Studio 2015中開發一個使用apache cordova工具的android應用程序。我想從我的索引頁面調用cordova應用程序中的Web服務,但我無法實現它。在Visual Studio中調用科爾多瓦的Web服務2015

下面是HTML

<div ><input type="button" id="callwebmethod" name="submit" /> <br /> </div> 

這裏是JS功能

<script type="text/javascript"> 
    $('#callwebmethod').click(function() { 
     var params = "{'msg':'From Client'}"; 
     $.ajax({ 
      type: "POST", 
      url: "http://mysite/index.aspx/GetEmployees", 
      data: params, 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (result) { alert(result.d); } 

     }); 


    }) 


</script> 

這裏是Web方法

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

回答

1

你VAR PARAMS必須simular到的參數WebMethod。只需將它們留空並再試一次。他們必須完全一樣。

如果whant使用與此指標的影響Web方法是一個工作示例:

$.ajax({ 
     url: "http://systemservice/systemservice.asmx/App_Test", 
     data: "{ par1: '" + xxx + "', par2: '" + xxx + "'}", 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (data) { 
      if (data.d) { 
       //Do something 
      } 
     }, 
     error: function (xhr) { 
      alert("An error occured: " + xhr.status + " " + xhr.statusText); 
     } 
    }) 


    [WebMethod] 
    public string App_Test(string par1, string par2) { 
     return "Hello"; 
    } 

通過所示的誤差函數也可以找出什麼錯誤。

要做到這一點沒有paremeters你只需要把它們留空。

data: "{}" 


    [WebMethod] 
    public string App_Test() { 
     return "Hello"; 
    } 
+0

抽出時間來回答我的問題感謝名單@deru。但是,我的代碼中的問題是,我需要啓用CORS。我在我的服務器網絡配置中添加了http協議和allow-acess-origin =「*」,這些都可以實現。 –

0

這woked我這個例子:

var person = {}; 
person.ID = $('#txtID').val(); 
person.Name = "Amir"; 
var pdata = { "p": person }; 
$.ajax({ 
    type: "POST", 
    contentType: "application/json; charset=utf-8", 
    url: "/SampleService.asmx/GetPesonnelSalary", 
    data: JSON.stringify(pdata), 
    dataType: "json", 
    async: true, 
    success: function (data, textStatus) { 

     if (textStatus == "success") { 
      if (data.hasOwnProperty('d')) { 
       msg = data.d; 
      } else { 
       msg = data; 
      } 
      alert(msg); 

     } 
    }, 
    error: function (data, status, error) { 
     alert("error"); 
    } 
}); 

完整的代碼是在這裏:http://www.scriptiny.com/2012/12/calling-asmx-web-service-via-jquery-ajax-2/

相關問題