2015-06-09 4 views
0

Моей Структура проектавызова ASMX веб-метод с главной страницы

Web Dir 
- App_code 
- App_Data 
- DevFolder 
    - LiveFolder 
     - Live.aspx 
- Dev.master 
- DevMasterEvents 
    - masterservice.asmx 

В главной странице,

$.ajax({ 
      type: "POST", 
      url: "DevMasterEvents/masterservice.asmx/HelloWorld",    
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: SetTabSessionValueSucceed, 
      error: SetTabSessionValueFailed 
     }); 

function SetTabSessionValueSucceed(result) { 
     alert("text from server: " + result.d); 
    } 

function SetTabSessionValueFailed() { 
     alert('call failed'); 
    } 

Web Method в masterservice.asmx

[System.Web.Script.Services.ScriptService] 
public class WebService1 : System.Web.Services.WebService 
{ 

    [WebMethod] 
    public string HelloWorld() 
    { 
     return "Hello World"; 
    } 
} 

Он бросает вызов не удался. Пожалуйста, помогите

Редактировать: Я боюсь, что причина может быть https://stackoverflow.com/a/12621912/2922388, поскольку я могу обновить всю страницу (не знаю, почему).

Да, это была моя ошибка небрежным :(

<span class="input-group-btn"> 
<button type='button' name='search' id='search-btn' class="btn btn-flat"><i class="fa fa-search"></i></button> 
</span> 

Ранее тип был «Отправить» я изменил кнопку. Теперь я получаю «Ошибка 404 Not Found».

ответ

2

Проблема обусловлена к типу контента и типа данных, просто удалите их из запроса Ajax:

$.ajax({ 
      type: "POST", 
      url: "DevMasterEvents/masterservice.asmx/HelloWorld",    
      success: SetTabSessionValueSucceed, 
      error: SetTabSessionValueFailed 
     }); 

Также вы игнорируете ошибку в SetTabsessionValueFailed вместо этого просто отображать сообщение, которое не помогает вы отлаживаете его. См: How do you handle errors from AJAX calls?

Помимо этого см: More Reasons to Not use ASMX Services in New Code

+0

я все еще получаю ту же ошибку. Когда я попытался отладить ошибку, следуя «Как вы обрабатываете ошибки из ajax-вызовов», он выбрасывает «Request Status: 0 Status text: error undefined» –

+0

Я даже преобразовал веб-службу как wcf, по-прежнему ту же ошибку. Но когда я вызываю wcf или веб-службу отдельно, отладчик попадает в точку останова, которая находится на методе –

+0

Я обновил свои вопросы, пожалуйста, просмотрите и поделитесь своими мыслями –

Смежные вопросы