jQuery স্ট্রিংকে পোষ্ট পরামিতি হিসাবে প্রেরণ করে


99

আমি একটি এজাক্স পোস্ট প্যারামিটার হিসাবে একটি স্ট্রিং প্রেরণ করতে চাই।

নিম্নলিখিত কোড:

$.ajax({
   type: "POST",
   url: "http://nakolesah.ru/",
   data: 'foo=bar&ca$libri=no$libri',
   success: function(msg){
     alert('wow'+msg);
   }
});

কাজ করছে না. কেন?


4
আমি দেখছি যে আপনি একটি পিএইচপি ডেভেলপার এবং আমি দেখতে আপনারা এমন কাজ করেছিলেন যে: ca$libri=no$libri। এখানে নিশ্চিত হওয়ার জন্য খতিয়ে দেখা হচ্ছে ... আপনি কি নিশ্চিত যে দুর্ঘটনাক্রমে পিএইচপি নির্মাণগুলি যেখানে জেএসের হওয়া উচিত সেগুলি ব্যবহার করার চেষ্টা করছেন না? আপনি মান অন্তর্ভুক্ত করতে চাইলে $libriএই স্ট্রিং মধ্যে পরিবর্তনশীল, এই চেষ্টা করে দেখুন: 'foo=bar&ca' + $libri + '=no' + $libri
গাছের পৃষ্ঠ

ননো :) আমি পিএইচপি দ্বারা জেএস উত্পন্ন করার সমস্ত মুহুর্ত বুঝতে পারি :) এটি এপিএসের এজাক্স ভেরিয়েবলগুলির নাম। আমি পার্সার তৈরি করি যা এজ্যাক্স সহ কিছু সাইটের বিশ্লেষণ করে। এবং এখন আমি কেন ত্রুটি পেয়েছিলাম। এটি কোজ ক্রসডোমেন কোয়েরি। আমার সার্ভারে প্রথমে আমার ক্যোয়ারী তৈরি করতে হবে :)
মিরগোরোড

উত্তর:


183

এটির মতো চেষ্টা করুন:

$.ajax({
    type: 'POST',
    // make sure you respect the same origin policy with this url:
    // http://en.wikipedia.org/wiki/Same_origin_policy
    url: 'http://nakolesah.ru/',
    data: { 
        'foo': 'bar', 
        'ca$libri': 'no$libri' // <-- the $ sign in the parameter name seems unusual, I would avoid it
    },
    success: function(msg){
        alert('wow' + msg);
    }
});

4
এটি ডেটা হওয়া উচিত নয়: the foo: 'বার'}, অ্যাস্টোস্ট্রোফ ছাড়া '?
মারিয়াস স্টেনেস্কু

6
@ মারিয়াসস্ট্যানস্কু, উভয়ই সমতুল্য জাভাস্ক্রিপ্ট সিনট্যাক্স।
দারিন দিমিত্রভ

4
আরও নিশ্চিত যে ca সিএ-তে b লিবারি পুরোপুরি ঠিক আছে
মাইকেল ক্রুক

স্ট্রিং হিসেবে :( পোস্টিং সংক্রান্ত প্রশ্নের উত্তর দিতে না, উত্তর নিচে দেখুন।
অ্যান্ড্রু

এটি কাজ করে তবে এটি কাজ করে না: ফু: 'বার'। আমি 2 দিন যুক্তিহীন কাটিয়েছি আমি উভয় পক্ষের স্ট্রিং লক্ষণগুলি যোগ করিনি !!!
ইউজেন সুনিক

39
$.ajax({
    type: 'POST',    
    url:'http://nakolesah.ru/',
    data:'foo='+ bar+'&calibri='+ nolibri,
    success: function(msg){
        alert('wow' + msg);
    }
});

15
আমি এখানে কেন এসেছি, স্ট্রিং হিসাবে p। পোষ্ট ডেটা কীভাবে প্রেরণ করা যায় তা জানতে। গৃহীত উত্তর আমাকে তাতে মোটেও সহায়তা করে না। ধন্যবাদ.
মরিচ

সম্মত, আমারও এমন পরিস্থিতি ছিল যেখানে আমি যে ফ্রেমওয়ার্কটি বিকাশ করছিলাম তার জন্য একটি স্ট্রিং দরকার ছিল, ভাল উত্তর। আমার পরিস্থিতিতে আমি স্ট্রিংটি ডেটার পাশের ভেরিয়েবলের মধ্যে রেখে এই কাজটি করতে সক্ষম হয়েছি: আমার স্ট্রিংয়ের ফর্ম্যাটটি ছিল '? Var = value & var2 = value2'
জোসেফ আস্ট্রাহান

13

আমি দেখতে পাচ্ছি যে তারা আপনার প্রশ্ন বুঝতে পারে নি। উত্তরটি হল: আপনার এজাক্স কলটিতে "traditionalতিহ্যবাহী" পরামিতি যুক্ত করুন:

$.ajax({
  traditional: true,
  type: "POST",
  url: url,
  data: custom ,
  success: ok,
 dataType: "json"
});

এবং এটি একটি STRING হিসাবে পাসড পরামিতিগুলির সাথে কাজ করবে।


ধন্যবাদ! এটি আমার দিন বাঁচায়!
ডেটা টিটি

11

অনুরূপ অ্যাপ্লিকেশনটির জন্য আমাকে এইভাবে আমার dataঅবজেক্টটি গুটিয়ে রাখতে হয়েছিল JSON.stringify():

data: JSON.stringify({ 
  'foo': 'bar', 
  'ca$libri': 'no$libri'
}),

এপিআই একটি আরএসটি ক্লায়েন্টের সাথে কাজ করছে তবে এটি ব্রাউজারে জ্যাকুরি এজাজের সাথে কাজ করতে পারেনি। স্ট্রিংফাই সমাধান ছিল।


কেন আমাদের এটি করতে হয়েছিল?
রেনোইর রেইস

নিশ্চিত না তবে জবাব না দেওয়া পর্যন্ত প্রতিক্রিয়াতে কিছু অক্ষর অবশ্যই স্ট্রিং হিসাবে বিবেচিত হবে না।
ডিলান ভ্যালাদ

4

এটি এখনও আসল কিনা তা নিশ্চিত নয় .. কেবল ভবিষ্যতের পাঠকদের জন্য। আপনি যদি যা চান তা যদি URL এর অংশ হিসাবে আপনার প্যারামিটারগুলি পাস করে তবে আপনার সম্ভবত jQuery.param () ব্যবহার করা উচিত ।


1

আপনার প্রশ্নের সরাসরি উত্তর নয় .. তবে নিম্নলিখিতটি কেবলমাত্র আমার সিনট্যাক্স যা আমার জন্য কাজ করত -

data: '{"winNumber": "' + win + '"}',

এবং সার্ভার পদ্ধতির যুক্তির সাথে প্যারামিটার-নাম মিলবে


1

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

                    $.ajax({
                    url: "https://myexampleurl.com/myactionfile.cfm",
                    type: "POST",
                    data : {paramert1: variable1,parameter2: variable2},
                    success: function(data){
                        console.log(data);                              
                    } )};

0

আমি আজাক্সের স্ট্রিং প্যারামিটারগুলিতে স্ট্রিংয়ের মানটি পাস করার ক্ষেত্রে সমস্যার মুখোমুখি হয়েছি। এত গুগল করার পরে, আমি নীচে হিসাবে একটি কাস্টম সমাধান নিয়ে এসেছি।

var bar = 'xyz';
var calibri = 'no$libri';

$.ajax({
   type: "POST",
   dataType: "json",
   contentType: "application/json; charset=utf-8",
   url: "http://nakolesah.ru/",
   data: '{ foo: \'' + bar + '\', zoo: \'' + calibri + '\'}',
   success: function(msg){
       alert('wow'+msg);
   },
});

এখানে, বার এবং ক্যালিব্রি দুটি স্ট্রিং ভেরিয়েবল এবং আপনি ওয়েব পদ্ধতিতে স্ট্রিং প্যারামিটারগুলিতে যে কোনও স্ট্রিংয়ের মান পাস করতে পারেন।

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