asp.net, jquery mobile 및 phonegap을 사용하여 테스트 모바일 앱을 작성하고 있습니다. 나는 1 년을 입력하고 제출을 클릭하는 간단한 양식이 있습니다. 결과를 반환하고 두 번째 페이지에 표시되는 서버의 results.aspx.cs 페이지로 Ajax 호출이 수행됩니다.모바일 앱에서 AJAX 요청 404를 제공합니다.
로컬 서버에서 모바일 앱을 실행하면 404 오류가 발생합니다 - responseText : "POST /results.aspx.cs/IsLeapYear↵", 상태 : 404, statusText : "찾을 수 없음"}. 다음
$(document).on('pageinit', '#home', function() {
$(document).on('click', '#submit', function() { // catch the form's submit event
if ($('#txtYear').val().length > 0) {
$.ajax({
url: 'http://website.com/results.aspx.cs/IsLeapYear',
data: '{ year: "' + txtYear.value + '"}',
type: 'post',
async: 'true',
dataType: 'json',
success: function (result) {
if (result.status) {
result.val = "Leap Year";
$.mobile.changePage("#second");
} else {
result.val = "Not a Leap Year";
}
},
error: function (request, error) {
// This callback function will trigger on unsuccessful action
alert('Network error has occurred please try again!');
}
});
} else {
alert('Please fill all necessary fields');
}
return false; // cancel original event to prevent form submitting
});
});
results.aspx.cs 포함 :
[System.Web.Services.WebMethod]
public static bool IsLeapYear(int year)
{
return DateTime.IsLeapYear(year);
}
사람 수 다음
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="msapplication-tap-highlight" content="no" />
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width" />
<link rel="stylesheet" href="css/jquery.mobile-1.4.5.min.css">
<link rel="stylesheet" href="css/jqm-icon-pack-fa.css">
<link rel="stylesheet" type="text/css" href="css/index.css" />
<script src="js/jquery-2.1.3.min.js" type="text/javascript"></script>
<script src="js/jquery.mobile-1.4.5.min.js" type="text/javascript"></script>
<script>
var SectedCityCode, URL, prov;
$(document).bind('mobileinit', function() {
$.mobile.pushStateEnabled = false;
});
</script>
<title>Hello World</title>
</head>
<body>
<!-- Start of first page -->
<div data-role="page" id="home">
<div data-role="header">
<h1>Test</h1>
</div>
<div data-role="content">
<div data-role="main" class="ui-content">
<div class="ui-body ui-body-a ui-corner-all">
<form id="checkyear" class="ui-body ui-body-a ui-corner-all" data-ajax="false">
<label for="txtYear">Enter the year:</label>
<input type="text" name="txtYear" id="txtYear" value="" />
<input type="button" data-theme="b" name="submit" id="submit" value="Submit">
</form>
</div>
</div>
</div>
<div data-role="footer" data-position="fixed">
<h4>Page footer</h4>
</div>
</div>
<!-- end of first page -->
<!-- start of second page -->
<div data-role="page" id="second">
<div data-theme="a" data-role="header">
<h3>Welcome Page</h3>
</div>
<div data-role="content">
<p id="result"></p>
</div>
<div data-theme="a" data-role="footer" data-position="fixed">
<h3>Page footer</h3>
</div>
</div>
<!-- end of second page -->
<script type="text/javascript" src="js/index.js"></script>
</body>
</html>
하는 index.js 포함 :
index.html 페이지에는 다음이 포함 내가 어떤 실수를 저지르고 있는지 말해 줄래?
조
대체 수단을 통해 웹 사이트에 액세스 할 수 있습니까? HTTP 클라이언트를 사용하여 URL에서 요청 헤더와 본문을 테스트 해보십시오.이 상황에서 매우 유용한 도구입니다. http://www.swensensoftware.com/im-only-resting – MPaul
멋진 도구. 내가 http://169.254.51.156:3000/results.aspx.cs를 GET 할 때 상태 200 OK이지만 POST로 404 Not Found를 얻습니다. 왜 그런가? – citm09
은 브라우저에서의 작동/ –