在另一个域上命中操作结果

时间:2013-09-20 05:55:39

标签: jquery asp.net-mvc web-services

我正在尝试使用POST方法点击其他一些IP         $(document).ready(function(){

    var json = {"data": "parminder" };

    $.ajax(
  {
   type: "POST",
    url: "http://someip/webservice/getdata",
  data: JSON.stringify(json),
   contentType: "application/json; charset=utf-8",
   dataType: "JSONP",
      async: false,
      complete: cmp,
      error: OnError

  });
    function cmp(data) {

        alert("yourdata    " + data.responseText)
    };

    function OnError(msg) {
        alert('error = ' + msg.d);
    }




  });
    </script>

butbn给我发现404错误。请帮助我。它正在使用查询字符串

[HttpGet]
        public ActionResult getdata(string data)
        {
            try
            {
                devicedata obj = new devicedata() { data = data };
                database.devicedatas.Add(obj);
                database.SaveChanges();
                return Json("success", JsonRequestBehavior.AllowGet);
                //return "success" ;
            }
            catch (Exception e)
            {
                return Json("Fail", JsonRequestBehavior.AllowGet);
                //return "Fail" ;
            }

        }

我正在尝试访问actionresult作为webservice。当使用get方法来命中actionresult时返回成功但是当使用post方法来命中actionresult时它没有找到错误(404)

2 个答案:

答案 0 :(得分:0)

这应该是允许标准跨源资源共享所需的全部内容。将它放在服务器上的.htaccess文件中。

Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "GET, POST"

答案 1 :(得分:0)

HttpGetAttribute指示MVC框架仅允许GET请求。如果您还想允许POST操作,则必须删除该属性。