1

是否可以使用 Jquery 将数据从 html 页面发布到另一个 asp.net 网站?

www.site1.com/mail.html - > www.site2.com/mailServ.aspx

使用 jquery ajax 我可以使用此代码发布到后面的代码[webmethod]

因此,它将从site1发送而不是同一网站(site2)中的代码

这是我用来将表单数据发布到同一网站应用程序中的网络方法的代码

function jQuerySendMailCsCodeBehind(resluts) {

    var SentClientinfo = []
    SentClientinfo.push({ key: "SentClientinfo", value: resluts });
    var CurrpageURL = "default.aspx/"; <---
    var WebmethodName = "StartTest";
    var StageIdentifyer = "stage1";
    var Post_TargetUrl = CurrpageURL + WebmethodName;

    jQueryAajaxNoPostBack(Post_TargetUrl, SentClientinfo, StageIdentifyer);
}

我试图从应用程序外部发布

所以我只是用

    var CurrpageURL = "http://www.site2.com/default.aspx/"; 

来自另一个站点(site1)的html网站非asp.net,但这个想法在现实中并不奏效(:

那么是否有一个选项可以让 webForms 应用程序/asp.net 网站接受来自另一个 ajax/jquery 网站代码的请求?

4

2 回答 2

1

默认情况下,出于安全原因,JavaScript 不允许访问其来源域以外的其他域。如果您在登录银行时碰巧在查看我的网站,您不希望我网站上的 JavaScript 使用您的银行登录 cookie 访问您银行的网站。

解决它的一种方法是 JsonP,但据我了解,它主要用于检索数据。

您可能正在寻找的是Cross Origin Resource Sharing或简称CORS。要实现这一点,您的 site2 需要设置Access-Control-Allow-Origin标题,并且用户需要使用支持 CORS 的浏览器(并非所有人都这样做,请参阅维基百科页面了解信息)。

于 2013-06-23T20:36:06.680 回答
1

您不能使用javascript. 你需要使用jsonp

jQuery支持jsonp,看下面的例子

$.ajax({
    type: 'GET',
    url: 'http://githubbadge.appspot.com/badge/torvalds',
    dataType: 'jsonp',
    success: function(json) {
        var result = '<h3>' + json.user.login + '</h3>' +
                     '<p>Languages: ' + json.languages + '</p>' +
                     '<p>Followers: ' + json.user.followers + '</p>';
        $('#badge').append(result);
    }
});
于 2013-06-23T19:27:23.107 回答