2013-06-23 3 views
1

다른 asp.net 웹 사이트에 Jquery를 사용하여 HTML 페이지에서 데이터를 게시 할 수 있습니까? >www.site2.com/mailServ.aspx웹 사이트 또는 asp.net 응용 프로그램 외부에서 메일을 보내십시오

JQuery와 아약스를 사용하여 내가 [webmethod]

뒤에 코드에 게시하려면이 코드를 사용할 수 있습니다 -

www.site1.com/mail.html 말 그래서 그 대신 동일한 웹 사이트 (사이트 2) 내의 코드의이 사이트 1

로부터 전송 될

이 나는 ​​동일한 웹 애플리케이션

0123을 내 웹 방법으로 폼 데이터를 작성하는 데 사용하고있는 코드는
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/"; 

(사이트 1) HTML 웹 사이트가 아닌 asp.net 사용

외부에서 게시하는 시도했지만 생각은 (실제로는 작동하지 않았다 :

그래서 webForms 응용 프로그램/asp.net 웹 사이트 은 다른 웹 사이트 코드의 요청을 Ajax/jquery에서 받아 들일 수 있습니까?

답변

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); 
    } 
}); 
+0

감사합니다. 두 링크를 방문했다, 거기에 무엇이 설명 된 구현 (내가 무엇을 이해할 수 있습니다 writen,이 단순한 예제 코드를 가정합니다) 구현 코드를 게시 할 수 있습니까? like site1 jasonp vs accepting site2 jsonp say : ** site1 **는 ('#TBX_UserName') val()'을 ** site2 **에 게시합니다. –

+0

@ReginaJerusalemsky 여기에 예제가 있습니다. http://jsfiddle.net/yvzSL/ – BrunoLM

+0

당신이 매우 유용한 정보를 주셔서 감사합니다. 이것은 부분적인 해결책이 될 것입니다. 왜냐하면 데이터가 게시되고 있는지 확인하기 위해 항상 site2에 site2를 청취 할 필요가 있습니다. CORS가 우리에게 더 나은 옵션을 제공합니까? ? 좀 더 자세히 그 구현과 제한을 확인하는 법을 배워야합니다 –

1

를 참조 자바 스크립트는 보안상의 이유로 시작된 것보다는 다른 도메인에 액세스 할 수 없습니다. 은행에 로그인 한 상태에서 내 사이트를보고있는 경우 내 사이트의 JavaScript가 내 은행 웹 사이트에 액세스하는 것을 원하지 않습니다.

이 문제를 해결하는 한 가지 방법은 JsonP이지만이 방법을 이해 한 한 대부분 데이터를 가져 오는 것입니다.

Cross Origin Resource Sharing 또는 짧은 CORS입니다. 이를 구현하려면 site2가 Access-Control-Allow-Origin 헤더를 설정해야하며 사용자는 CORS를 지원하는 브라우저를 사용해야합니다 (모든 브라우저가 아닌 브라우저 정보를 보려면 wikipedia 페이지 참조).

관련 문제