অ্যাজাক্সের মাধ্যমে একাধিক ডেটা ক্ষেত্র কীভাবে প্রেরণ করবেন? [বন্ধ]


136

আমি আটকে আছি: আমি এজেএক্স ব্যবহার করে একটি ফর্ম জমা দেওয়ার চেষ্টা করছি, তবে আমার এজেএক্স কলের মাধ্যমে একাধিক ডেটা ক্ষেত্র প্রেরণের কোনও উপায় খুঁজে পাচ্ছি না।

$(document).ready(function() {
  $("#btnSubmit").click(function()  {
    var status = $("#activitymessage").val();
    var name = "Ronny";
    $.ajax({
      type: "POST",
      url: "ajax/activity_save.php",
      **data: "status="+status+"name="+name"**,
      success: function(msg) {...

আমি সব ধরণের জিনিস চেষ্টা করেছি:

data: {status: status, name: name},

বা এমনকি পরীক্ষার উদ্দেশ্যেও এ জাতীয় জিনিসগুলি:

data: "status=testing&name=ronny",

তবে আমি যাই চেষ্টা করি না কেন, activity_save.phpআমার এসকিউএল-তে আমার কিছুই পাওয়া যায় না।

সুতরাং, আমার এজেএক্স কলটিতে আরও লাইন ডেটা স্থাপনের সঠিক বাক্য গঠন কী?


ইনপুট ডেটা পরিচালনা করার উভয় মাধ্যমিক ফর্মই বৈধ। আপনি কীভাবে এই পিএইচপি সাইডে অ্যাক্সেস করছেন? আপনি এইচটিটিপি স্নিফার (পিসিতে ফিডলার, ম্যাকের উপরে এইচটিটিপিএসকোপের মতো কিছু) বিবেচনা করতে পারেন, যা আপনাকে তারের ওপারে ঠিক কী চলছে তা দেখায়।
জন গ্রিন

আমি আপনার পোস্ট ডেটা ডিবাগ করতে ফায়ারব্যাগ / ক্রোম ব্যবহার করার পরামর্শ দেব। নিশ্চিত করুন যে আপনি একটি এইচটিটিপি কোড 200 পেয়ে যাচ্ছেন এবং ফর্ম ডেটা আপনার পোস্টে পোস্ট করা হচ্ছে যা আপনার ধারণা হওয়া উচিত। পোস্ট ডেটার সাথে যদি সবকিছু ঠিক দেখাচ্ছে তবে আমি আপনার পিএইচপি সার্ভারের সাইড কোডটি ডিবাগ করার চেষ্টা করব।
কাইল রজার্স

ফায়ারব্যাগ ব্যবহার করা সত্যিই সাহায্য করেছে, এটির সাথে আমার পৃষ্ঠাটি চেক করা সম্পর্কে সম্পূর্ণরূপে ভুলে গিয়েছিল। : /
মৃত কথোপকথন

** সামনে এবং ডেটা প্যারামের শেষে কী ব্যবহার করা যায়?
হিঙ্কাসনার

1
@ হিঙ্কাসনার, আমি মনে করি যে ** পাঠককে দেখানোর জন্য কেবল লেখকটি কোন লাইনের উপর জোর দিতে চাইবে। কোড ফাইল এ সংরক্ষণ করতে প্রস্তুত হয়ে গেলে ** মুছে ফেলতে হবে!
চিহ্নিত করুন

উত্তর:


256

সঠিক বাক্য গঠনটি হ'ল:

data: {status: status, name: name},

যেমন এখানে উল্লেখ করা হয়েছে: http://api.jquery.com/jQuery.ajax/

সুতরাং যদি এটি কাজ না করে, আমি তাদের ভেরিয়েবলগুলির মান আছে তা নিশ্চিত করার জন্য সতর্ক করে দেব।


4
তিনি এই প্রশ্নের মধ্যে বিশেষভাবে উল্লেখ করেছেন: "আমি সমস্ত ধরণের জিনিস চেষ্টা করেছি: data: {status: status, name: name},"
রাই-

20
আমি কেবল সঠিক বাক্য গঠনটি নির্দেশ করছিলাম এবং বলছিলাম যে সমস্যাটি অবশ্যই বাক্যবিন্যাসের মতো নয় অন্য কিছু হতে পারে
অ্যাভিটাস

3
আমার সিনট্যাক্সটি সঠিক বলে মনে হচ্ছে, আমি বিশ্বাস করি যে আমি খুব বোবা এসকিউএল ভুল করেছি।
মৃত কথোপকথন

2
পুনরায়: সিনট্যাক্স, নোট করুন যে একটি মূল নাম একটি '-' উদাহরণস্বরূপ data: { site-name: "StackOverflow" }কাজ করবে না।
মোয়ে

দস্তাবেজগুলি থেকে "ডেটা বিকল্পটিতে ফর্মের ক্যোরি স্ট্রিং key1=value1&key2=value2, বা ফর্মের কোনও অবজেক্ট থাকতে পারে the {key1: 'value1', key2: 'value2'}যদি পরের ফর্মটি ব্যবহার করা হয় তবে ডেটা প্রেরণের আগে jQuery.param () ব্যবহার করে কোয়েরি স্ট্রিংয়ে রূপান্তরিত হয়। "
জে ব্লানচার্ড

32

আপনি JSON এর মাধ্যমে বা সাধারণ পোস্টের মাধ্যমে ডেটা প্রেরণ করতে পারেন, এখানে JSON এর উদাহরণ is

 var value1 = 1;
 var value2 = 2;
 var value3 = 3;   
 $.ajax({
      type: "POST",
      contentType: "application/json; charset=utf-8",
      url: "yoururlhere",
      data: { data1: value1, data2: value2, data3: value3 },
      success: function (result) {
           // do something here
      }
 });

আপনি যদি এটি সাধারণ পোস্টের মাধ্যমে ব্যবহার করতে চান তবে এটি ব্যবহার করে দেখুন

 $.ajax({
      type: "POST",
      url: $('form').attr("action"),   
      data: $('#form0').serialize(),
      success: function (result) {
         // do something here
      }
 });

.serialize()সংজ্ঞায়িত করা হয় নি!
আমিরহোসেইন মেহরভারজি

9

উদ্ধৃতি দিয়ে চেষ্টা করুন:

data: {"status": status, "name": name}

এটা অবশ্যই ঠিক কাজ করবে।


4
+1 টি। বিটিডব্লিউ এই প্রকৃত ডেটা: {স্থিতি: "স্থিতি", নাম: "নাম"} api.jquery.com/jquery.ajax
আমির

6
var countries = new Array();
countries[0] = 'ga';
countries[1] = 'cd';

এর পরে আপনি এগুলি করতে পারেন:

var new_countries = countries.join(',')

পরে:

$.ajax({
    type: "POST",
    url: "Concessions.aspx/GetConcessions",
    data: new_countries,
    ...

এই জিনিসটি JSON স্ট্রিং ফর্ম্যাট হিসাবে কাজ করে।


এজ্যাক্সের মাধ্যমে একটি অ্যারে পাস করার চেষ্টা করার সময় এই সমাধানটি আমার পক্ষে কাজ করেছিল। এটি একটি স্ট্রিং মধ্যে যোগদান সমাধান ছিল। ধন্যবাদ!
ব্রায়ান পাওয়েল


3

এই আমার জন্য কাজ করে।

এখানে আমার পিএইচপি:

<div id="pageContent">
  <?php
    while($row = mysqli_fetch_assoc($stmt)) {
  ?>
  <br/>
  <input id="vendorName_" name="vendorName_<?php echo $row["id"]; ?>" value='<?php echo $row["vendorName"]; ?>'>
  <input id="owner_" name="owner_<?php echo $row["id"]; ?>" value='<?php echo $row["owner"]; ?>'>
  <input id="city_" name="city_<?php echo $row["id"]; ?>" value='<?php echo $row["city"]; ?>'>
  <button id="btn_update_<?php echo $row["id"]; ?>">Update</button>
  <button id="btn_delete_<?php echo $row["id"]; ?>">Delete</button>
  <?php
    }
  ?>
  </br></br>
  <input id = "vendorName_new" value="">
  <input id = "owner_new" value="">
  <input id = "city_new" value="">
  <button id = "addNewVendor" type="submit">+ New Vendor</button>
</div>

এজেএক্স ব্যবহার করে আমার jQuery এখানে:

$("#addNewVendor").click(function() {
  alert();
  $.ajax({
    type: "POST",
    url: "create.php",
    data: {vendorName: $("#vendorName_new").val(), owner: $("#owner_new").val(), city: $("#city_new").val()},
    success: function(){
      $(this).hide();
      $('div.success').fadeIn();
      showUsers()
    }
  });
});

2

আমি এজ্যাক্সে একটি শিক্ষানবিশ কিন্তু আমি এই "ডেটা: {অবস্থা: স্থিতি, নাম: নাম}" পদ্ধতির ডেটাটাইপটি JSON এ সেট করতে হবে যেমন

$.ajax({
type: "POST",
dataType: "json",
url: "ajax/activity_save.php",
data: {status: status, name: name},

3
স্ট্যাক ওভারফ্লোতে আপনাকে স্বাগতম। সার্ভারেরdataType কাছ থেকে প্রাপ্ত সামগ্রীর ধরণের প্রতিক্রিয়া হ'ল আপনি যা পাঠাচ্ছেন তা নয়। আপনি যে ডেটা প্রেরণ করছেন তা সর্বদা রূপান্তরিত হবে । foo=bar&bar=foo
h2ooooooo

1

এটা ব্যবহার কর

data: '{"username":"' + username + '"}',

লারাভেলের সাথে কাজ করার জন্য আমি প্রচুর সিনট্যাক্স চেষ্টা করি এটি ল্যারাভেল ৪.২ + অজ্যাক্সের জন্য আমার জন্য কাজ করে।


1

এটা চেষ্টা কর:

$(document).ready(function() {
  $("#btnSubmit").click(function() {
    var status = $("#activitymessage").val();
    var name = "Ronny";
    $.ajax({
      type: "POST",
      url: "ajax/activity_save.php",
      data: {'status': status, 'name': name},
        success: function(msg) {...

1

আমি এজেএক্সে নতুন এবং আমি এটি চেষ্টা করেছি এবং এটি ভালভাবে কাজ করে।

function q1mrks(country,m) {
  // alert("hellow");
  if (country.length==0) {
    //alert("hellow");
    document.getElementById("q1mrks").innerHTML="";
    return;
  }
  if (window.XMLHttpRequest) {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
  } else {
    // code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
      document.getElementById("q1mrks").innerHTML=xmlhttp.responseText;
    }
  }
  xmlhttp.open("GET","../location/cal_marks.php?q1mrks="+country+"&marks="+m,true);
  //mygetrequest.open("GET", "basicform.php?name="+namevalue+"&age="+agevalue, true)
  xmlhttp.send();
}

1

ব্যবহার করার চেষ্টা করুন :

$.ajax({
    type: "GET",
    url: "something.php",
    data: { "b": data1, "c": data2 },   
    dataType: "html",
    beforeSend: function() {},
    error: function() {
        alert("Error");
    },
    success: function(data) {                                                    
        $("#result").empty();
        $("#result").append(data);
    }
});

1
কিছু ব্যাখ্যা সম্ভবত?
cs95

0

2 দিনের মাথা-স্ক্র্যাচ করার পরে আমার জন্য কী কাজ করছে তা এখানে রয়েছে; কেন আমি দুটি কী / মান (কাঁচা চিত্রের ডেটাযুক্ত একটি ভেরিয়েবল সহ) প্রেরণের জন্য এজ্যাক্স 'ডেটা' সেটিংটি পেতে পারি না তা রহস্য ছিল, তবে এটি jQuery.param () ফাংশনটির জন্য যা লিখেছিল তা মনে হয় ;

উদ্ধৃতি ছাড়াই আপনার ভেরিয়েবলগুলির সাথে একটি প্যারাম অ্যারে তৈরি করুন:

var params = { key_name1: var_1, key_name2: var_2  }; // etc.

var ser_data = jQuery.param( params );   // arbitrary variable name

ভেরিয়েবল সার্_ডাটা আপনার ডেটা মান হিসাবে ব্যবহার করুন;

      $.ajax({
       type: 'POST',
       url: '../php_handler_url.php',
       data: ser_data,
    }).success(function(response) {
       alert(response);
    });

ডকুমেন্টেশন এখানে: https://api.jquery.com/jQuery.param/

আশা করি এইটি কাজ করবে!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.