将JSON数据从Chrome浏览器扩展发布到MVC控制器

我编写了一个Chrome浏览器扩展程序,它使用Ajax将数据发布到MVC3控制器。 为了确保控制器代码有效,我首先编写了一个Razor网页来对ajax代码进行原型设计。 此代码适用于网页,JSON模型绑定所有。 我将它发布到一个完整的DNS主机和域名的IIS7服务器上。 代码仍然适用于测试页面。

function addUrl() { $('#res').html('Adding...'); var myData = { url: $('#urlDiv').html(), comments: $('#c1').val() }; $.ajax( { url: 'http://hostname.domainname/ControllerName/AddUrl', type: "post", dataType: "json", data:JSON.stringify(myData), contentType: "application/json; charset=utf-8", success: function (result) { $('#res').html(result); }, error: function() { $('#res').html('An error occurred'); } } ); }; 

我将此jQuery函数复制到Chrome JavaScript文件中,并通过常规表单按钮从弹出窗口调用它。

   

Add URL

Comments

由于某些原因,Chrome扩展程序中的post会出现404错误,并且我发现某些MVC3 XSS保护或类似内容阻止了post – 或者IIS7中的某些内容(UrlScan未安装)。

为了使跨域XHR调用相应的域权限需要在清单中声明。