سؤال

أنا أستخدم datatables jQuery لعرض البيانات من قاعدة بيانات MySQL. عند النقر فوق صف ، يتم فتح مربع حوار jQuery UI مع نموذج للبيانات ، والأزرار لتحديث أو حذف الإدخال. يستخدم الرمز الخاص بزر التحديث Serialize لإرسال البيانات إلى برنامج نصي PHP ، مثل هذا:

buttons:{ 
   "Update": function() { 
    $("#result p").load("update_data.php?" + $('form').serialize(), 

المشكلة التي أواجهها هي أن أحد الحقول في قاعدة البيانات مخصصة لنص الجسم ، وربما يكون كبيرًا جدًا. هذا يسبب عدم تقديم النموذج في بعض الحالات. أدرك أنه يمكنني زيادة قيمة إعداد تكوين Apache ، لكن للأسف ، لا أستطيع إجراء تغييرات على تكوين Apache بسبب المشكلات خارج عنك. هل هناك طريقة يمكنني إصلاح هذا؟ هل هناك طريقة أفضل لإرسال البيانات إلى الخادم من الطريقة المستخدمة أعلاه؟

هل كانت مفيدة؟

المحلول

جوامع،

قد يكون من الأفضل أن تنشر هذه البيانات ، حيث توجد فرصة لإرسالها فعليًا كطلب الحصول على (قد يكون خطيرًا على بعض مستويات الأمان). قد يكون كائن Ajax $ وسيلة أفضل من شأنها تحديث $ ("#result p") div على النجاح.

تتجول من خلال هذا:

http://api.jquery.com/jquery.ajax/

"النمط" الأساسي هو:

$.ajax({
  url: 'ajax/test.html',
  success: function(data) {
    $('.result').html(data);
    alert('Load was performed.');
  }
});

هذا ليس "أيضًا" بعيدًا عن نواياك الخاصة. (فقط تأكد من أن وظيفة PHP الخاصة بك تبحث عن متغيرات $ _post ، بدلاً من $ _GET إذا كنت تعتمد هذه الطريقة).

مجرد فكرة..

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top