繁体   English   中英

从网站或asp.net应用程序外部发送邮件

[英]sending mail from outside of a website or asp.net application

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

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

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

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

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

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网站代码的请求?

您不能使用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);
    }
});

出于安全原因,默认情况下,不允许JavaScript访问其他域。 如果您恰巧在登录银行时正在查看我的网站,则您不希望我网站上的JavaScript随银行登录cookie一起访问您银行的网站。

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

您可能正在寻找的是跨源资源共享或简短的CORS 要实现这一点,您的site2将需要设置一个Access-Control-Allow-Origin标头,并且要求用户使用支持CORS的浏览器(并非所有浏览器都支持,请参见Wikipedia页面以获取信息)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM