Ошибка HTTP при добавлении больших данных с помощью jquery ajax - PullRequest
0 голосов
/ 27 июля 2011

Я создал хорошую программу html / javascript для отображения ajax в моей jqgrid. Но совсем недавно я заметил, что когда я пытаюсь сохранить большие или много данных для сохранения в строке таблицы, он возвращает http:error.

Я действительно не понимаю, что не так, когда я могу успешно сохранить небольшое количество строк. Кто-то сказал мне, что проблема была в моем html / javascript, поскольку, когда я пытаюсь отследить его с помощью delphi (который я использовал для создания своего веб-сервиса), он не входит в мой код (при сохранении большого количества строк), и войду в мой код, если сохраню только менее 10 строковых данных (нет ошибок в трассировке). Вот данные, которые я отправляю на мой веб-сервис / html-запрос:

{
"SessionID":"66KuzRH1w1sWCM188q4k8BTJb5ijG81v",
"operation":"add",
"transaction_date":"7/27/2011",
"supplier_id":"10000000108",
"wood_specie_id":"1",
"lines":[
     {"plank_number":"1","thickness":"4","width":"6","length_t":"8","quantity":"1","board_foot":"16.00","wood_classification_id":"1","price":"15"},
     {"plank_number":"2","thickness":"45","width":"6","length_t":"8","quantity":"1","board_foot":"180.00","wood_classification_id":"1","price":"15"},

     .
     .
     .
     .
     {"plank_number":"22","thickness":"3","width":"6","length_t":"8","quantity":"1","board_foot":"12.00","wood_classification_id":"1","price":"15"},
     {"plank_number":"23","thickness":"4","width":"6","length_t":"7","quantity":"1","board_foot":"14.00","wood_classification_id":"1","price":"15"}
   ],
"scaled_by":"JAYSON","tallied_by":"TALLIED BY","checked_by":"CKECKED BY","total_bdft":"582.84","final":""
}

вот код для добавления данных моей строки:

function tallyAddData(){
  var datas = {
    "SessionID": $.cookie("SessionID"),
    "operation": "add",       
    //"transaction_num":$('#tallyNo').val(),
    "transaction_date":$('#tallyDate').val(),
    "supplier_id":$('#supplierInput').attr("name"),
    "wood_specie_id":$('#woodSpecie').attr("name"),   
    "lines":plank_data,
    "scaled_by":$('#tallyScaled').val().toUpperCase(),
    "tallied_by":$('#tallyTallied').val().toUpperCase(),
    "checked_by":$('#tallyChecked').val().toUpperCase(),
    "total_bdft":$('#tallyTotal').val(),
    "final":"",
  };
  alert(JSON.stringify(datas));  
  $.ajax({
    type: 'GET',
    url: 'processjson.php?' + $.param({path:'update/tallyHdr',json:JSON.stringify(datas)}),
    dataType: primeSettings.ajaxDataType,
    success: function(data) {
      if ('error' in data)
      {
        showMessage('ERROR: ' + data["error"]["msg"]);
      }
      else{
        $('#tblTallyHdr').trigger('reloadGrid'); 
      }
    }
  });
}  

1 Ответ

1 голос
/ 27 июля 2011

вы используете строку запроса для передачи данных - размер строки запроса ограничен (http://en.wikipedia.org/wiki/Query_string) Рекомендую при передаче данных в качестве поста:

$.ajax({
  type: 'POST',
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

Вы также можете прочитать о посте Jquery (http://api.jquery.com/jQuery.post/)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...