jquery – 跨域发布到ASP.Net MVC应用程序

前端之家收集整理的这篇文章主要介绍了jquery – 跨域发布到ASP.Net MVC应用程序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一个应用程序,其中 HTMLJavaScript块被传递到不同的客户端.我可以通过将以下内容添加到Web配置文件中来获取html / javascript块:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
  <httpProtocol>
      <customHeaders>
          <add name="Access-Control-Allow-Origin" value="*" />
          <add name="Access-Control-Allow-Headers" value="Content-Type" />
          <add name="Access-Control-Allow-Methods" value="POST,GET,OPTIONS" />
      </customHeaders>
  </httpProtocol>

这对于做GETS非常有用.我遇到的问题是使用jQuery进行POSTs跨域:

$.ajax(
    {
        type: 'POST',url: url,crossDomain: true,data: JSON.stringify(data),dataType: 'json',contentType: 'application/json',success: function(responseData,textStatus,jqXHR) 
        {
            alert('Success');
        },error: function (responseData,errorThrown) 
        {
            alert('POST Failed.');
        }
    });

我会有很多客户消费我的应用程序(希望).我考虑使用代理,但是我没有客户端服务器的控制权,所以我无法安装一个httpHandler作为代理.

任何有关如何将不同客户端的json数据交给我的ASP.NET MVC应用程序的建议?

解决方法

我喜欢我的ajax电话,似乎工作(与上面的ajax调用比较):
$.ajax(
    {
        type: 'POST',data: data,jqXHR) 
        {
            alert('success');
        },errorThrown) 
        {
            alert('POST Failed.');
        }
    });

删除了“contentType:’application / json’”和“JSON.stringify(…)”调用,我可以发布到服务器.

我不知道如何解释为什么它的工作.有任何想法吗?有什么安全问题吗?我正在我的笔记本电脑上这样做.我通过IIS 7设置了2个不同的网站.这会有所不同吗?

猜你在找的jQuery相关文章