jquery ajax CORS 跨域訪问 WebService

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 格式,可是使用上述方式是以字符串形式返回。



posted @ 2017-07-02 16:36  yxysuanfa  阅读(562)  评论(0编辑  收藏  举报