是否可以使用Jquery将数据从html页面发布到另一个asp.net网站?
说 www.site1.com/mail.html - >的 www.site2.com/mailServ.aspx
使用jquery ajax我可以使用此代码发布到[webmethod]
所以代替同一网站(site2)中的代码,它将从site1发送
这是我用于将表单数据发布到同一网站应用程序中的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的其他网站代码的请求吗?
答案 0 :(得分:1)
您无法使用javascript
制作跨网站请求。您需要使用jsonp
jQuery支持jsonp
,请参阅following example
$.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);
}
});
答案 1 :(得分:1)
默认情况下,出于安全原因,不允许JavaScript访问除源自其之外的域。如果您在登录银行时正在查看我的网站,您不希望我网站上的JavaScripts访问您银行的网站,并使用您的银行登录cookie。
解决这个问题的一种方法是JsonP,但据我所知,它主要用于检索数据。
您可能正在寻找的是Cross Origin Resource Sharing或短 CORS 。要实现这一点,您的site2需要设置一个Access-Control-Allow-Origin
标头,并且用户需要使用支持CORS的浏览器(不是全部都可以,请参阅维基百科页面了解相关信息)。