سؤال

وأريد أن أرسل مجموعة شيدت في جافا سكريبت مع القيم المحددة من مضاعفات اختر. هل هناك طريقة لارسال هذه المجموعة لسيناريو PHP باستخدام اياكس؟

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

المحلول

ويمكنك إضافة إلى الخادم الخاص بك مع XML أو JSON. سوف جافا سكريبت لديك لبناء آخر، والتي في حالة XML سوف تتطلب منك لإنشائه في جافا سكريبت. JSON غير lighterweight فحسب، بل من الأسهل لجعل في جافا سكريبت. تحقق من JSON-PHP للحصول على تحليل JSON.

وقد ترغب في إلقاء نظرة على إنشاء البيانات JSON في PHP

نصائح أخرى

هل يمكن أن تفعل ذلك مع .post $ طريقة مسج (على سبيل المثال):

var myJavascriptArray = new Array('jj', 'kk', 'oo');

$.post('urltocallinajax', {'myphpvariable[]': myJavascriptArray }, function(data){
   // do something with received data!
});

وبى سوف تتلقى مجموعة التي سوف تكون اسم على myphpvariable و سوف تحتوي على قيم myJavascriptArray.

هل من ذلك؟

وIIRC، إذا يرى PHP سلسلة استعلام يشبه http://blah.com/test.php?var[]=foo&var[]=bar&var[]=baz، وستجعل مجموعة تسمى $var الذي يحتوي فو وبار والباز تلقائيا. أعتقد أنك حتى يمكن تحديد مؤشر مجموعة في الأقواس المربعة من سلسلة الاستعلام، وسوف تلتزم قيمة في هذا المؤشر. قد تحتاج إلى URL ترميز بين قوسين ... والطريقة المعتادة هذه الميزة المستخدمة في خلق حقل الإدخال HTML مع اسم "فار []"، حتى مجرد القيام بكل متصفح لا عادة هناك. هناك قسم في وثائق PHP على متغيرات مجموعة من خلال الطلب.

ويمكنك أن تبحث عن وسيلة ل تسلسل (مسج إصدار) البيانات.

تم تحديث

مسج 1.4 لاستخدام بناء الجملة PHP لإرسال المصفوفات. يمكنك التبديل إلى النمط القديم باستخدام:

وهنا هو synatax:

jQuery.ajaxSetting.traditional = true;

وهنا هو المثال

$.ajax({    
 traditional: true,
 type: "post",
 url: myURL,
 dataType: "text", 
 data: dataToSend, //this will be an array eg. 
 success: function(request) {
  $('#results').html(request);
 }  // End success
 }); // End ajax method

ويمكنك إنشاء مجموعة وإرساله، على النحو الموصى به ميادور: (البرمجية التالية Mootooled، لكنها متشابهة في مكتبات أخرى / عادي JS القديم)

myArray.each(function(item, index)  myObject.set('arrayItems['+index+']', item);
myAjax.send(myObject.toQueryString());

وهذا سوف ترسل إلى فب مجموعة تسمى arrayItems، والتي يمكن الوصول إليها من خلال _POST $ [ 'arrayItems']

echo $_POST['arrayItems'] ; 

وسوف أردد شيئا مثل: مجموعة => {[0] => 'أول شيء "، [1] => الشيء الثاني}

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