如何在c#中使用ajax调用发送跨域POST请求

时间:2015-04-07 10:21:13

标签: javascript c# ajax cross-domain asp.net-web-api

我正在开发一个应用程序,其中从一个网站项目我使用ajax调用javascript调用web api方法。当我在本地运行这两个项目时它工作正常,但是当我在演示站点上发布web api项目时,ajax调用没有达到web api方法。 我的ajax调用如下 -

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
    <title></title>


    <script type="text/javascript">
        $(document).ready(function () {
   var url = 'http://abc.demo.in/c60/api/Patient/Create/';
            $.ajax({
                url: url,
                data: getData(),
                type: 'POST',
                contentType: "application/json",
                success: function (result) {
                    console.log(result);
                    alert("success")
                },
                error: function (result) {
                            alert('POST failed.');
                        }
            });

            function getData() {
                var patient = new Object();
                patient.Name = "Mugdha";
                patient.Gender = "Female";
                patient.Email = "mugdhaShenoy@yahoo.co.in";
                patient.Mobile = "";
                patient.BloodGroup = "AB+";
                patient.MedicalHistory = "High BP, Cholosterol, Diebetis";
                patient.Allergy = "Dust, wind";
                patient.EmergencyContactName = "Riya Sahani";
                patient.EmergencyContactNo = "9988990200";
                patient.ProfileImage = "";
                patient.FormNo = "92";
                patient.BirthDate = new Date(1989, 09, 08).toISOString();
                return patient;
            }

</script>
</head>
<body>

</body>
</html>

当我尝试访问api域(位于不同的服务器上)时,我遇到了错误 -

XMLHttpRequest cannot load http://abc.demo.in/c60/api/Patient/Create/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:49370' is therefore not allowed access.

这有什么解决方案吗?我在我的webapi项目中添加了CorsHandler.cs文件。

0 个答案:

没有答案