2016-08-09 2 views
1

JQuery Ajax을 사용하여 다른 도메인에있는 ASP.NET 페이지로 한 도메인의 데이터를 보냅니다. ASP.NET 페이지에서 응답을받을 수 있지만 데이터를 JQuery Ajax (으)로 보낼 수 없습니다. 여기 내 코드가 있습니다 :JQuery Ajax에서 ASP.NET 페이지로 데이터를 보내는 방법은 무엇입니까?

leap.aspx 페이지에 도달 할 수 있습니다. 참고 http://somewebsite은 단지 자리 표시 자일뿐입니다.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="leap.aspx.cs" Inherits="_Default" %> 
<%=output %> 

leap.aspx.cs은 다음과 같습니다 : 나는 Ajax 호출하지만 행운을 통과 해의 값을 얻을 수 Request.Params["year"]을 사용하고 있습니다

leap.aspx는 다음이있다. 내가 콘솔에서이 코드를 실행하면

using System; 

public partial class _Default : System.Web.UI.Page 
{ 
public string output = ""; 
protected void Page_Load(object sender, EventArgs e) 
{ 
if (Request.Params["callback"] != null) 
    { 
     output = Request.Params["callback"] + "('" + GetData(Request.Params["year"]) + "')"; 
    } 
} 

[System.Web.Services.WebMethod] 
public string GetData(string year) 
{ 
return "From outer space! " + year; 
} 

}

나는

"결과를 : 우주 공간에서!"를 참조하십시오

그러나 올해 들어 보낸 데이터가 Ajax으로 표시되지 않습니다. 동일한 도메인 정책을 사용하기 위해 도메인 간 요청을 만들기 때문에 JSONP을 사용하고 있습니다. 나는 어떤 오류도 내지 않고있다. 나는 방금 ASP.NET 페이지에서 반환 된 가치를 얻는 것을 얻지 못하고있다.

올해는 어떻게받을 수 있습니까?

+0

을 그리고 값은 ... 당신의'data :'의 형식을 { "year": "2001"}로 바꾸는 것을 수정합니까? –

답변

0

변경과 같이 따옴표를 제거하기 위해 설정 데이터 : 난 당신이 .json 키 주위에 따옴표를 갖고 싶어 많은 경우 생각 : 데이터가 { "2001"올해} 경우

data: { year: $('#txtYear').val() }, 
+0

감사합니다. Matt. 데이터로 변경 : {year : " '+ $ ('# txtYear '). val() +'"} 문제가 해결되었습니다. 나는 지금 일년 내내 돌아왔다. – citm09

관련 문제