2015-05-14 3 views
2

У меня есть сайт asp.net в C#.функция ошибка() {[родной код]}

На Onchange() событие меню списка я звоню эта функция JQuery, которая бросает:

function error(){[native code]} 

<script type="text/javascript"> 
    function GetDescription(a) { 
     alert(a); // the dropdown item selected value 
     var id = (!isNaN($(a).val())) ? parseInt($(a).val()) : 0; 
     $.ajax({ 
      type: 'POST', 
      contentType: "application/json; charset-8;", 
      url: 'WT.aspx/GetRef', 
      data: "{ 'id':'" + id + "'}", 
      success: function (data) { 
       alert(data); 
      }, 
      error: function (data) { 
       alert(Error); 
      } 

     }); 

    } 
    </script> 

WT.aspx/GetRef

 

    [WebMethod] 
    public string GetRef(int id) 
    { 
     DataTable dt = new DataTable(); 
     SqlParameter[] p = new SqlParameter[1]; 
     p[0] = new SqlParameter("@RefID", id); 
     dt = dl.GetDataWithParameters("Sp_WT_GetRef", p); 

     string data = dt.Rows[0]["Description"].ToString() +"|"+ dt.Rows[0]["PriceInUSD"].ToString(); 

     return data; 
    } 

http://localhost:54576/resources/demos/style.css Не удалось загрузить ресурс : сервер ответил статусом 404 (не найдено) http://localhost:54576/AutomobileWebApp/WT.aspx/GetRef Не удалось загрузить ресурс: сервер ответил со статусом 500 (Internal Server Error) http://localhost:54576/resources/demos/style.css Не удалось загрузить ресурс: сервер ответил со статусом 404 (не найден)

+2

Вы должны посмотреть журналы на стороне сервера - предположительно, исключение выбрасывается в 'GetRef, но мы не можем сказать, что это только от поиска вашего кода. –

+1

", который вызывает: function error() {[native code]}". Нет, это не вызывает никаких ошибок. Вы просто предупреждаете собственный конструктор. Строковое представление конструктора 'Error' является' function error() {[native code]} '. Используйте 'console.log' для отладки и проверьте вкладку сети инструментов разработчика браузера, чтобы проверить ответ сервера. – undefined

+0

Возможно, вам нужно пометить свой веб-метод как 'static' like' public static string GetRef (int id) ' –

ответ

1

Мой первый предложение было чтобы метод, описанный как [WebMethod], был статическим.

[WebMethod] 
public static string GetRef(int id) 
{ 
    DataTable dt = new DataTable(); 
    SqlParameter[] p = new SqlParameter[1]; 
    p[0] = new SqlParameter("@RefID", id); 
    dt = dl.GetDataWithParameters("Sp_WT_GetRef", p); 

    string data = dt.Rows[0]["Description"].ToString() +"|"+ dt.Rows[0]["PriceInUSD"].ToString(); 

    return data; 
} 

Если это не сработало, попробуйте проверить, правильно ли указывает ваш URL-адрес ajax.

, а также проверить, передаете ли вы 'this' в качестве параметра функции для GetDescription (a).

<select onchange="GetDescription(this)"> 
    <option value="1">text1</option> 
    <option value="2">text2</option> 
    <option value="3">text3</option> 
</select> 
+0

Спасибо v.much, вы были правы, так как я сделал это как статический, его работа. – user3185287

+0

Но функция GetRef (int id) не принимает этот аргумент, который я передаю через ajax-код. Can u plz помогите мне в этом ... – user3185287

+0

А также его не возвращающий результат, успех: функция (данные) { alert (данные); } в предупреждении: вместо объекта получается объект Object. – user3185287

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