jquery ajax CORS 跨域访问 WebService

时间:2022-08-28 15:26:48

JS代码:

var word = document.getElementById("word").value;
$.ajax({
type: "POST",
contentType: "application/x-www-form-urlencoded",
url: "http://localhost:12805/WebService.asmx/HelloWorld",
data: 'data=' + word,
dataType: 'text',
success: function(result) {
alert("success: " + result);
},
error: function(result, status) {
alert("error: " + status);
}
});

C# WebService代码:

[WebService(Namespace = "weburl")]
[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 WebService : System.Web.Services.WebService
{
[WebMethod]
public void HelloWorld(string data)
{
this.Context.Response.AddHeader("Access-Control-Allow-Origin", "*"); // CORS 跨域访问
this.Context.Response.Write(data); // 返回字符串格式
}
}

WebService 默认 return 返回 XML 格式,但是使用上述方式是以字符串形式返回。