jQuery调用远程Web服务

时间:2013-04-19 07:11:53

标签: jquery ajax web-services

我正在尝试使用jQuery调用Web服务,并且我阅读了很多示例,但遗憾的是我无法使其工作。

我正在尝试将此网络服务称为我的练习:http://www.w3schools.com/webservices/tempconvert.asmx?op=CelsiusToFahrenheit

这是我的代码,但无论我做什么,我都会收到错误500(内部服务器错误)或400错误请求。

function GetIt(){
var divToBeWorkedOn = "#AjaxPlaceHolder";
var webMethod = "http://www.w3schools.com/webservices/tempconvert.asmx/CelsiusToFahrenheit?callback=?";
var parameters = 'POST /webservices/tempconvert.asmx/CelsiusToFahrenheit HTTP/1.1 Host: www.w3schools.com Content-Type: application/x-www-form-urlencoded Content-Length: 9 Celsius=5';
//var parameters = 'Celsius=5';
//var parameters = '<Celsius>5</Celsius>';

$.ajax({
    type: "POST",
    url: webMethod,
    data: parameters,
    contentType: "text/xml; charset=utf-8",//"application/json; charset=utf-8",
    dataType: "xml", //"json"
    success: function(msg) {    
        $(divToBeWorkedOn).html(msg.d);
    },
    error: function(e){
        $(divToBeWorkedOn).html("Unavailable");              
    }
});
}

我不确定我应该如何传递参数...

有人可以描述问题的位置并让这个例子有用吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

试试这个

function GetIt(){
  var divToBeWorkedOn = "#AjaxPlaceHolder";   
  var webMethod = "http://www.w3schools.com/webservices/tempconvert.asmx/CelsiusToFahrenheit?callback=?"; 
  var parameters = {'Celsius':'5'};

  $.ajax({
    type: "POST",
    url: webMethod,
    data: parameters,
    contentType: "text/xml; charset=utf-8",//"application/json; charset=utf-8",
    dataType: "xml", //"json"
    success: function(msg) {    
      $(divToBeWorkedOn).html(msg.d);
    },
    error: function(e){
      $(divToBeWorkedOn).html("Unavailable");              
    }
  });
}