2016-12-16 1 views
0

또한 javascript의 pageload 메소드에서 LoadLanguage, LoadLanguageSelect, LoadVideoLogLay 및 LoadImage JavaScript 메소드를 호출했습니다. . 이러한 방식으로 페이지가로드되면 해당 메소드의 작업이 페이지로드 중에 작동합니다. 하지만 asp.net cs 쪽 javascript 메서드를 게시 할 때이 오류가 발생합니다. 리소스를로드하지 못했습니다. http : // localhost : 59913/edit.aspx/LoadLanguages ​​서버가 404 상태로 응답했습니다. (찾을 수 없음)

내 자바 스크립트의 pageload 방법

 function PageLoad() { 
 
      LoadLanguages(1); 
 
      LoadLanguageList(); 
 
      LoadImageGallery(); 
 
      LoadVideoGallery(); 
 
     }

그리고

function LoadLanguageList() { 
 
      $.ajax({ 
 
       url: "Edit.aspx/LoadLanguageSelect", 
 
       dataType: "json", 
 
       data: "{}", 
 
       contentType: "application/json; charset=utf-8", 
 
       method: "POST", 
 
       success: function (result) { 
 

 
        var xmlDoc = $.parseXML(result.d); 
 
        var xml = $(xmlDoc); 
 
        var languages = xml.find("Table"); 
 
        $('#select_AddLang').empty(); 
 
        if (languages.length > 1) 
 
         $('#select_AddLang').append($("<option></option>").attr("value", 0).text("Choose a language")); 
 
        else if (languages.length == 0)//All languages has already been added. 
 
         $('#select_AddLang').css("display", "none"); 
 

 
        languages.each(function() { 
 
         var language = $(this); 
 
         $('#select_AddLang').append($("<option></option>").attr("value", language.find("Ix").text()).text(language.find("Name").text())); 
 
        }); 
 
       }, 
 
       error: function (error) { 
 
        alert(error.d); 
 
       } 
 
      }); 
 
     }

자바 스크립트 내 방법

function LoadImageGallery() { 
 
      $.ajax({ 
 
       url: "Edit.aspx/LoadImageGallery", 
 
       dataType: "json", 
 
       data: "{}", 
 
       contentType: "application/json; charset=utf-8", 
 
       method: "POST", 
 
       success: function (result) { 
 
        var xmlDoc = $.parseXML(result.d); 
 
        var xml = $(xmlDoc); 
 
        var pictures = xml.find("Table"); 
 
        $('#imagesList').empty(); 
 
        var x = 10; 
 
        pictures.each(function() { 
 
         var picture = $(this); 
 
         $('#imagesList').append('<li style="list-style:none;display:inline-block;">' + 
 
          '<span id="frk' + x + '" class="frk" style="width:132px;text-align:right;" onmouseover="ShowSpan(' + x + ');" onmouseout="HideSpan(' + x + ');">' + 
 
          '<button type="button" class="glyphicon glyphicon-remove picEditBtn" title="Delete" style="border:none;"' + 
 
          'onmouseover="ShowSpan(' + x + ');" onmouseout="HideSpan(' + x + ');" onclick="DeleteGalleryPhoto(\'' + picture.find("PictureUrl").text() + '\');"></button></span>' + 
 
          '<a class="example-image-link" href="/Content/Upload/Images/Gallery/' + picture.find("PictureUrl").text() + '" data-lightbox="example-set">' + 
 
          '<img style="width:132px;height:132px;" onmouseover="ShowSpan(' + x + ');" onmouseout="HideSpan(' + x + ');" src="/Content/Upload/Images/Gallery/' + 
 
          picture.find("PictureUrl").text() + '" /></a>' + '</li>'); 
 

 
         x = x + 1; 
 
        }); 
 
       }, 
 
       error: function (error) { 
 
        alert(error.d); 
 
       } 
 
      }); 
 
     }
function LoadVideoGallery() { 
 
      $.ajax({ 
 
       url: "edit.aspx/LoadVideoGallery", 
 
       dataType: "json", 
 
       data: "{}", 
 
       contentType: "application/json; charset=utf-8", 
 
       method: "POST", 
 
       success: function (result) { 
 
        var xmlDoc = $.parseXML(result.d); 
 
        var xml = $(xmlDoc); 
 
        var pictures = xml.find("Table"); 
 
        $('#videoList').empty(); 
 
        var x = 10000; 
 
        pictures.each(function() { 
 
         var picture = $(this); 
 
         var url = picture.find("VideoUrl").text(); 
 
         $('#videoList').append('<li style="list-style:none;display:inline-block;">' + 
 
          '<span id="frk' + x + '" class="frk" style="width:528px;text-align:right;" onmouseover="ShowSpan(' + x + ');" onmouseout="HideSpan(' + x + ');">' + 
 
          '<button type="button" class="glyphicon glyphicon-remove picEditBtn" title="Delete" style="border:none;"' + 
 
          'onmouseover="ShowSpan(' + x + ');" onmouseout="HideSpan(' + x + ');" onclick="DeleteGalleryVideo(\'' + url + '\');"></button></span>' + 
 
          '<video style="width:528px;height:264px;" onmouseover="ShowSpan(' + x + ');" onmouseout="HideSpan(' + x + ');" controls>' + 
 
          '<source src="/Content/Upload/Images/Gallery/' + url + '" type="video/webm">' + 
 
          'Your browser does not support the video tag.</video></li>'); 
 

 
         x = x + 1; 
 
        }); 
 
       }, 
 
       error: function (error) { 
 
        alert(error.d); 
 
       } 
 
      }); 
 
     }

[WebMethod] 
    public static string LoadLanguages() 
    { 
     string result=null; 
     Edit page = new Edit(); 
     if (LoadType == "Agency") 
     { 
      result = page.sqlOp.FillDataSet("SELECT L.Ix,L.Name FROM CONTENT C INNER JOIN [LANGUAGE] L ON L.Ix=C.LangIx WHERE [email protected] ORDER BY C.LangIx", page.sqlConnection, CommandType.Text, 5, 
       page.sqlParameters.Add("@Ix", SqlDbType.BigInt, Ix)).GetXml(); 
     } 
     if (LoadType == "Tour") 
     { 
      result = page.sqlOp.FillDataSet("SELECT L.Ix,L.Name FROM CONTENT C INNER JOIN [LANGUAGE] L ON L.Ix=C.LangIx WHERE [email protected] ORDER BY C.LangIx", page.sqlConnection, CommandType.Text, 5, 
       page.sqlParameters.Add("@Ix", SqlDbType.BigInt, Ix)).GetXml(); 
     } 
     if (LoadType == "Guide") 
     { 
      result = page.sqlOp.FillDataSet("SELECT L.Ix,L.Name FROM CONTENT C INNER JOIN [LANGUAGE] L ON L.Ix=C.LangIx WHERE [email protected] ORDER BY C.LangIx", page.sqlConnection, CommandType.Text, 5, 
       page.sqlParameters.Add("@Ix", SqlDbType.BigInt, Ix)).GetXml(); 
     } 

     return result; 
    } 


[WebMethod] 
    public static string LoadLanguageSelect() 
    { 
     Edit page = new Edit(); 
     string result = null; 
     if (LoadType == "Agency") 
     { 
      String strQuery = "SELECT L.Ix,L.Name FROM [LANGUAGE] L INNER JOIN CONTENT C ON C.LangIx=L.Ix WHERE [email protected]"; 
      result = page.sqlOp.FillDataSet(strQuery, page.sqlConnection, CommandType.Text, 5, 
       page.sqlParameters.Add("@Ix", SqlDbType.BigInt, Ix)).GetXml(); 
     } 
     if (LoadType == "Tour") 
     { 
      String strQuery = "SELECT L.Ix,L.Name FROM [LANGUAGE] L INNER JOIN CONTENT C ON C.LangIx=L.Ix WHERE [email protected]"; 
      result = page.sqlOp.FillDataSet(strQuery, page.sqlConnection, CommandType.Text, 5, 
       page.sqlParameters.Add("@Ix", SqlDbType.BigInt, Ix)).GetXml(); 
     } 
     if (LoadType == "Guide") 
     { 
      String strQuery = "SELECT L.Ix,L.Name FROM [LANGUAGE] L INNER JOIN CONTENT C ON C.LangIx=L.Ix WHERE [email protected]"; 
      result = page.sqlOp.FillDataSet(strQuery, page.sqlConnection, CommandType.Text, 5, 
       page.sqlParameters.Add("@Ix", SqlDbType.BigInt, Ix)).GetXml(); 
     } 
     return result; 
    } 




[WebMethod] 
    public static string LoadVideoGallery() 
    { 
     string result = null; 
     if (LoadType == "Agency") 
     { 
      Edit page = new Edit(); 
      result = page.sqlOp.FillDataSet("SELECT VideoUrl FROM GALLERY WHERE [email protected] AND VideoUrl IS NOT NULL", 
       page.sqlConnection, CommandType.Text, 5, page.sqlParameters.Add("@Ix", SqlDbType.BigInt, Ix)).GetXml(); 
     } 
     else if (LoadType == "Tour") 
     { 
      Edit page = new Edit(); 
      result = page.sqlOp.FillDataSet("SELECT VideoUrl FROM GALLERY WHERE [email protected] AND VideoUrl IS NOT NULL", 
       page.sqlConnection, CommandType.Text, 5, page.sqlParameters.Add("@Ix", SqlDbType.BigInt, Ix)).GetXml(); 
     } 
     else if (LoadType == "Guide") 
     { 
      Edit page = new Edit(); 
      result = page.sqlOp.FillDataSet("SELECT VideoUrl FROM GALLERY WHERE [email protected] AND VideoUrl IS NOT NULL", 
       page.sqlConnection, CommandType.Text, 5, page.sqlParameters.Add("@Ix", SqlDbType.BigInt, Ix)).GetXml(); 
     } 
     return result; 
    } 



     [WebMethod] 
    public static string LoadImageGallery() 
    { 
     string pictureUrl=null; 
     if (LoadType == "Agency") 
     { 
      Edit page = new Edit(); 
      pictureUrl = page.sqlOp.FillDataSet("SELECT PictureUrl FROM GALLERY WHERE [email protected] AND PictureUrl IS NOT NULL", 
       page.sqlConnection, CommandType.Text, 5, page.sqlParameters.Add("@Ix", SqlDbType.BigInt, Ix)).GetXml(); 
     } 
     else if (LoadType == "Tour") 
     { 
      Edit page = new Edit(); 
      pictureUrl = page.sqlOp.FillDataSet("SELECT PictureUrl FROM GALLERY WHERE [email protected] AND PictureUrl IS NOT NULL", 
       page.sqlConnection, CommandType.Text, 5, page.sqlParameters.Add("@Ix", SqlDbType.BigInt, Ix)).GetXml(); 
     } 
     else if (LoadType == "Guide") 
     { 
      Edit page = new Edit(); 
      pictureUrl = page.sqlOp.FillDataSet("SELECT PictureUrl FROM GALLERY WHERE [email protected] AND PictureUrl IS NOT NULL", 
       page.sqlConnection, CommandType.Text, 5, page.sqlParameters.Add("@Ix", SqlDbType.BigInt, Ix)).GetXml(); 
     } 
     return pictureUrl; 
    } 

그리고 내 브라우저에서이 오류가

Failed to load resource: the http://localhost:59913/edit.aspx/LoadLanguages server responded with a status of 404 (Not Found),Failed to load resource: the http://localhost:59913/edit.aspx/LoadLanguagesSelect server responded with a status of 404 (Not Found),Failed to load resource: the http://localhost:59913/edit.aspx/LoadVideoGallery server responded with a status of 404 (Not Found),Failed to load resource: the http://localhost:59913/Edit.aspx/LoadImageGallery server responded with a status of 404 (Not Found)

답변

0

내가 먼저 내가 당신의 웹 메쏘드는 매개 변수를 허용하지 않는 것으로 나타났습니다 두 가지 문제

를 볼 수 있지만 당신은 데이터를 specifting있다 : "{}"아약스 호출. 매개 변수가 필요하지 않은 경우이 행을 생략하십시오. 페이지가 객체를 받아들이지 만 찾지 못하는 메소드를 찾고 있다면 404를 반환 할 수 있습니다.

How to call c# method with no parameters and access returned data?

당신이 만들어지고 당신의 AJAX 요청을보고 피들러를 사용하여 시도 유무 :이 답변을 참조하십시오? 그렇다면 실제로 POST 요청으로 나가는 지 확인하십시오. 그렇지 않으면 서버가 GET 메소드를 검색 할 것이므로 찾을 수 없습니다. 따라서 404를 리턴합니다.

$ .ajax ({type : "POST" "} 방법 : "POST" "})

+0

나는 당신이 말했다. 나는 데이터 부분에"{} "를 추가했다. 나는이 코드와 메소드를 .net 4.5 프레임 워크에서 사용했다. 그러나 .net 4.5 프레임 워크를. NET 4.0 프레임 워크 다음 내 프로젝트는이 오류가 발생합니다. – wotmn

관련 문제