jQuery আমার JSON কে AJAX ক্যোয়ারী থেকে পার্স করবে না


88

JQuery.ajax () ব্যবহার করে আমার সার্ভার থেকে ফিরে আসা কিছু জেএসএন ডেটা পার্স করতে আমার অসুবিধা হচ্ছে

আমি যে এজেএক্স ব্যবহার করছি তা সম্পাদন করতে:

$.ajax({
  url: myUrl,
  cache: false,
  dataType: "json",
  success: function(data){
    ...
  },
  error: function(e, xhr){
    ...
  }
});  

এবং আমি যদি আইটেমগুলির একটি অ্যারের ফিরিয়ে দিই তবে এটি ঠিক কাজ করে:

[ { title: "One", key: "1" }, { title: "Two", key: "2" } ]

সাফল্য ফাংশন বলা হয় এবং সঠিক বস্তু গ্রহণ করে।

যাইহোক, আমি যখন কোনও একক বস্তুটি ফেরত দেওয়ার চেষ্টা করছি:

{ title: "One", key: "1" } 

ত্রুটি ফাংশন বলা হয় এবং এক্সএইচআর'তে 'পার্সেরেরর' রয়েছে। আমি জেএসএনকে তারের মাধ্যমে প্রেরণের আগে সার্ভারে প্রথম বন্ধনীতে মোড়ানো চেষ্টা করেছি, তবে এতে কোনও পার্থক্য নেই। তবুও যদি আমি জাভাস্ক্রিপ্টের একটি স্ট্রিংয়ে সামগ্রীটি আটকান এবং তারপরে alভাল () ফাংশনটি ব্যবহার করি তবে এটি এটিকে নিখুঁতভাবে মূল্যায়ন করে।

কোন ধারণা আমি কি ভুল করছি?

অ্যান্টনি


উত্তর:


72

আপনার সার্ভারটি সামগ্রী-প্রকার হিসাবে ডেটা প্রেরণ করছে "*/json"? যদি তা না হয় তবে সেই অনুযায়ী প্রতিক্রিয়া শিরোনামগুলি সংশোধন করুন। "application/json"উদাহরণস্বরূপ প্রেরণ করা ভাল হবে।


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

51

Json.org স্পেসিফিকেশন অনুসারে , আপনার রিটার্ন অবৈধ। নামগুলি সর্বদা উদ্ধৃত হয়, সুতরাং আপনার ফিরে আসা উচিত

{ "title": "One", "key": "1" }

এবং

[ { "title": "One", "key": "1" }, { "title": "Two", "key": "2" } ]

আপনার সেটআপের ক্ষেত্রে এটি সমস্যা নাও হতে পারে, যেহেতু আপনি বলছেন যে এর মধ্যে একটি এখন কাজ করে তবে ভবিষ্যতে আপনাকে অন্য জেএসএন পার্সারে যেতে হবে এমন ক্ষেত্রে নির্ভুলতার জন্য এটি ঠিক করা উচিত।


4
আসলে, jQuery 1.4 এ (উদাহরণস্বরূপ) { key: 'val' }বৈধ JSON নয়।
rfunduk

34

জেএসএন স্ট্রিংগুলি ডাবল কোটে মোড়ানো হয় ; একক উদ্ধৃতি বৈধ বিকল্প নয়।

{"who": "Hello World"}

বৈধ তবে এটি নয় ...

{'who': 'Hello World'}

ওপি-র ইস্যুটি না হলেও, এখানে যারা অবতরণ করেছেন তাদের জন্য এটি লক্ষ্য করার মতো বলে মনে করেছেন।


30

এই সমস্যাটি সাধারণত কারণ আপনার অনুরোধটি ভুল মাইম প্রকারটি পেয়েছে। আপনার নিজের কম্পিউটারে বিকাশ করার সময়, কখনও কখনও আপনি "সার্ভার" থেকে সঠিক মাইম টাইপ পান না, যা আপনার নিজস্ব কম্পিউটার। ব্রাউজারে স্থানীয়ভাবে সঞ্চিত ফাইলটি খোলার মাধ্যমে বিকাশ করার সময় আমি একবার এই সমস্যায় পড়েছিলাম (যেমন ইউআরএলটি "সি: / প্রজেক্ট / টেক্সট এইচটিএমএল" ছিল)।

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

এই প্রশ্ন অনুসারে যথাযথ মাইম টাইপটি হ'ল অ্যাপ্লিকেশন / জসন , তবে আমি জানি যে অ্যাপ্লিকেশন / জে-পুত্র যখন চেষ্টা করেছিলাম (এখন বেশ কয়েক বছর আগে) কাজ করেছিল। আপনার সম্ভবত প্রথমে অ্যাপ্লিকেশন / জেসন চেষ্টা করা উচিত।

var jsonMimeType = "application/json;charset=UTF-8";
$.ajax({
 type: "GET",
 url: myURL,
 beforeSend: function(x) {
  if(x && x.overrideMimeType) {
   x.overrideMimeType(jsonMimeType);
  }
 },
 dataType: "json",
 success: function(data){
  // do stuff...
 }
});

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

7

আমি এই সমস্যা ছিল এবং একটি বিট জন্য আমি ব্যবহার

eval('('+data+')')

কোনও বস্তুতে ডেটা ফেরত পেতে। তবে পরে প্যারেন্টিথিকাল ত্রুটিটিতে 'নিখোঁজ' হওয়ার পরে অন্যান্য সমস্যা হয়েছিল এবং জেনসির কাঠামোর জন্য একটি স্ট্রিং মূল্যায়নের জন্য jQuery এর একটি কার্যকারিতা রয়েছে:

$.parseJSON(data)

কৌতুক করা উচিত। এটি অবশ্যই আপনার জসন স্ট্রিংটি অবশ্যই যথাযথ বিন্যাসে করা ছাড়াও ..


6

যদি আপনি জসন প্রতিক্রিয়াটি প্রতিধ্বনিত করে থাকেন এবং আপনার শিরোনামগুলি * / json এর সাথে মেলে না তবে আপনি প্রতিক্রিয়াটি পার্স করতে jQuery.parseJSON এপিআই বিল্ট ব্যবহার করতে পারেন।

response = '{"name":"John"}';
var obj = jQuery.parseJSON(response);
alert( obj.name === "John" );

4
{ title: "One", key: "1" }

আপনি যা ভাবেন তা নয়। একটি অভিব্যক্তি হিসাবে, এটি একটি অবজেক্ট আক্ষরিক, তবে একটি বিবৃতি হিসাবে এটি:

{                // new block
    title:       // define a label called 'title' for goto statements
        "One",   // statement: the start of an expression which will be ignored
        key:     // ...er, what? you can't have a goto label in the middle of an expression
                 // ERROR

দুর্ভাগ্যক্রমে eval () আপনাকে এটিকে কোনও বিবৃতি বা অভিব্যক্তি দিচ্ছে কিনা তা নির্দিষ্ট করার কোনও উপায় দেয় না এবং এটি ভুল অনুমান করার ঝোঁক দেয়।

সাধারন সমাধান হ'ল এভ্যাল () ফাংশনে প্রেরণের আগে প্রথম বন্ধনীতে কোনও জিনিস মুড়ে ফেলা। আপনি বলছেন যে আপনি এটি সার্ভারে চেষ্টা করেছেন ... স্পষ্টতই কোনওরকম হয়ে উঠছে না। এক্সএমএলএইচটিপি-রিকুইয়েস্ট প্রতিক্রিয়াটি যা কিছু গ্রহণ করছে তা ক্লায়েন্টের শেষে বলতে গেলে জলরোধী হওয়া উচিত:

eval('('+responseText+')');

পরিবর্তে:

eval(responseText);

যতক্ষণ প্রতিক্রিয়া প্রকৃতপক্ষে একটি বিবৃতি নয় একটি বিবৃতি। (উদাহরণস্বরূপ, এটিতে একাধিক, সেমিকোলন বা নিউলাইন-পৃথক ক্লজ নেই))


আমি মনে করি অনুরোধ ডেটা প্রক্রিয়া করার সময় jQuery স্বয়ংক্রিয়ভাবে প্রথম বন্ধনী যুক্ত করে।
স্টারগার

4
এই উত্তরটি আমার পক্ষে খুব সহায়ক হয়েছিল, কারণ লোকেরা কেন জেএসএনকে প্রথম বন্ধনীতে আবদ্ধ করে তা আমি কখনই বুঝতে পারি নি।
আন্দ্রে তারানসোভ


2

আপনি jQuery ব্যবহার করে যদি এএসপি.এনইটি ওয়েব পরিষেবা গ্রাহক হন তবে নিশ্চিত হয়ে নিন যে আপনার ওয়েবকনফাইগের মধ্যে নিম্নলিখিতটি অন্তর্ভুক্ত রয়েছে:

<webServices>
    <protocols>
        <add name="HttpGet"/>
        <add name="HttpPost"/>
    </protocols>
</webServices>

2

ফায়ারফক্স ৩.৫ সূক্ষ্মভাবে কাজ করেছিল এবং আমার জেএসওএন ডেটা পার্স করেছে তবে ফায়ারফক্স 3.0.০.। একটি পার্সেরিরার ফিরে পেয়েছিল I দেখা গেল এটি JSON এর শুরুতে একটি ফাঁকা জায়গা যা ফায়ারফক্স 3.0.0.6 এর ফলে একটি ত্রুটি ফেলেছিল। ফাঁকা জায়গা অপসারণ এটি স্থির করে


2

"ইভাল ()" এবং "JSON.parse ()" কৌশলগুলি পারস্পরিক একচেটিয়া বিন্যাসগুলি ব্যবহার করে।

  • "ইভাল ()" সহ প্রথম বন্ধনী আবশ্যক
  • "JSON.parse ()" দিয়ে প্রথম বন্ধনী নিষিদ্ধ

সাবধান, সেখানে "স্ট্রিংফাই ()" ফাংশন রয়েছে যা "ইওল" ফর্ম্যাট তৈরি করে। এজ্যাক্সের জন্য আপনার কেবল জেএসএন ফর্ম্যাট ব্যবহার করা উচিত।

"জাফর" পুরো জাভাস্ক্রিপ্ট ভাষা অন্তর্ভুক্ত করার সময়, জেএসওএন কেবলমাত্র ভাষার একটি ক্ষুদ্র উপসেট ব্যবহার করে। জাভাস্ক্রিপ্ট ভাষার যে নির্মাণগুলির মধ্যে ";ভাল" অবশ্যই সনাক্ত করতে হবে তা হ'ল "ব্লক স্টেটমেন্ট" (ওরফে "যৌগিক বিবৃতি") ; যা একটি জুড়ি বা কোঁকড়া ধনুর্বন্ধনী "{}" ভিতরে কিছু বিবৃতি সহ। তবে কোঁকড়া ধনুর্বন্ধনী এছাড়াও বস্তুর আক্ষরিক বাক্য গঠন ব্যবহার করা হয়। কোডটি যে প্রসঙ্গে কোডটি উপস্থিত হয় তার দ্বারা ব্যাখ্যাটি পৃথক হয়। কিছু আপনার কাছে আক্ষরিক কোনও অবজেক্টের মতো দেখায়, তবে "ইভাল" এটিকে যৌগিক বিবৃতি হিসাবে দেখবে।

জাভাস্ক্রিপ্ট ল্যাঙ্গুয়েজে অবজেক্ট লিটারেলগুলি একটি অ্যাসাইনমেন্টের ডানদিকে ঘটে।

var myObj = { ...some..code..here... };

অবজেক্ট লিটারেলগুলি তাদের নিজেরাই ঘটে না।

{ ...some..code..here... }   // this looks like a compound statement

২০০৪ সালে ওপির মূল প্রশ্নটির দিকে ফিরে জিজ্ঞাসা করে তিনি অনুসন্ধান করেছিলেন যে নিম্নলিখিতগুলি "ইভাল ()" এ কেন ব্যর্থ হয়:

{ title: "One", key: "1" }

উত্তরটি হ'ল এটি একটি যৌগিক বিবৃতি মত দেখাচ্ছে। এটিকে কোনও বস্তুতে রূপান্তর করতে, আপনাকে অবশ্যই এটি একটি প্রসঙ্গে স্থাপন করতে হবে যেখানে যৌগিক বিবৃতি অসম্ভব। এটি এর চারপাশে প্রথম বন্ধনী রেখে is

( { title: "One", key: "1" } )    // not a compound statment, so must be object literal

ওপি এছাড়াও কেন একটি অনুরূপ বিবৃতি করেনি সফলভাবে Eval:

[ { title: "One", key: "1" }, { title: "Two", key: "2" } ]

একই উত্তরটি প্রযোজ্য - কোঁকড়া ধনুর্বন্ধনী একটি প্রসঙ্গে যেখানে যৌগিক বিবরণ অসম্ভব। এটি একটি অ্যারে প্রসঙ্গ, " [...]" এবং অ্যারেতে বস্তু থাকতে পারে তবে সেগুলিতে বিবৃতি থাকতে পারে না।

"ইভাল ()" এর বিপরীতে, জেএসএন এর ক্ষমতার মধ্যে খুব সীমাবদ্ধ। সীমাবদ্ধতা ইচ্ছাকৃত। জেএসএনের ডিজাইনার জাভাস্ক্রিপ্টের একটি ন্যূনতম উপসেটটি উদ্দেশ্য করে কেবল একটি বাক্য গঠন ব্যবহার করেছিলেন যা কোনও কার্যের ডানদিকে প্রদর্শিত হতে পারে। সুতরাং আপনার যদি এমন কিছু কোড থাকে যা JSON এ সঠিকভাবে পার্স করে ...

var myVar = JSON.parse("...some...code...here...");

... এটি সূচিত করে যে এটি কোনও আইনীভাবে কোনও অ্যাসাইনমেন্টের ডানদিকে পার্স করবে, এর মতো ..

var myVar = ...some..code..here... ;

তবে এটি কেবল জেএসএন-তে সীমাবদ্ধতা নয়। তাদেরকে JSON জন্য বিএনএফ ভাষা স্পেসিফিকেশন খুবই সহজ। উদাহরণস্বরূপ, এটি একক উদ্ধৃতি ব্যবহার করে স্ট্রিংগুলি (জাভাস্ক্রিপ্ট এবং পার্ল ডু এর মতো) নির্দেশ করতে দেয় না এবং এটি কোনও বাইট হিসাবে (যেমন 'সি' করে) কোনও অক্ষর প্রকাশ করার উপায় পায় না। দুর্ভাগ্যক্রমে, এটি মন্তব্যের অনুমতি দেয় না (কনফিগারেশন ফাইলগুলি তৈরি করার সময় যা সত্যিই দুর্দান্ত হবে)। এই সমস্ত সীমাবদ্ধতার উল্টো দিক হল JSON পার্সিং দ্রুত এবং কোড ইঞ্জেকশন (সুরক্ষা হুমকি) এর জন্য কোনও সুযোগ দেয় না।

এই সীমাবদ্ধতার কারণে, জেএসএনের বন্ধনীগুলির কোনও ব্যবহার নেই। ফলস্বরূপ, জেএসএন স্ট্রিংয়ের একটি প্রথম বন্ধনী একটি অবৈধ চরিত্র।

সর্বদা নিম্নলিখিত কারণে এজ্যাক্স সহ জেএসএন ফর্ম্যাটটি ব্যবহার করুন:

  • একটি সাধারণ এজাক্স পাইপলাইন জেএসএনের জন্য কনফিগার করা হবে।
  • "ইভাল ()" ব্যবহারের বিষয়টি সুরক্ষা ঝুঁকি হিসাবে সমালোচিত হবে।

একটি আজাক্স পাইপলাইনের উদাহরণ হিসাবে, এমন একটি প্রোগ্রাম বিবেচনা করুন যাতে নোড সার্ভার এবং একটি জিকুয়েরি ক্লায়েন্ট জড়িত। ক্লায়েন্ট প্রোগ্রামটি ফর্মযুক্ত একটি jQuery কল ব্যবহার করে $.ajax({dataType:'json',...etc.});। জিকুয়েরি পরবর্তী ব্যবহারের জন্য একটি জকিএক্সএইচআর এইচটি তৈরি করে, তারপরে প্যাকেজগুলি যুক্ত করে এবং অনুরোধটি প্রেরণ করে। সার্ভারটি অনুরোধটি গ্রহণ করে, এটি প্রক্রিয়া করে এবং তারপরে প্রতিক্রিয়া জানাতে প্রস্তুত। সার্ভার প্রোগ্রামটি পদ্ধতিটিকে res.json(data)প্যাকেজে ডাকবে এবং প্রতিক্রিয়া পাঠাবে। ক্লায়েন্ট পাশ ফিরে, jQuery প্রতিক্রিয়া গ্রহণ করে, সম্পর্কিত jqXHR অবজেক্টের সাথে পরামর্শ করে এবং JSON ফর্ম্যাট করা ডেটা প্রক্রিয়া করে। এই সমস্ত ম্যানুয়াল ডেটা রূপান্তর প্রয়োজন ছাড়া কাজ করে। প্রতিক্রিয়াটিতে নোড সার্ভারে JSON.stringify () এ কোনও স্পষ্ট কল নেই এবং ক্লায়েন্টে JSON.parse () তে কোনও স্পষ্ট কল নেই; এই সব আপনার জন্য পরিচালিত।

"ইভাল" এর ব্যবহার কোড ইনজেকশন সুরক্ষা ঝুঁকির সাথে সম্পর্কিত। আপনি ভাবতে পারেন যে এটি হওয়ার কোনও উপায় নেই তবে হ্যাকাররা বেশ সৃজনশীল হতে পারেন। এছাড়াও, জাভাস্ক্রিপ্ট অপ্টিমাইজেশনের জন্য "ইভাল" সমস্যাযুক্ত।

আপনি যদি একটি "স্ট্রিংফাই ()" ফাংশন ব্যবহার করে নিজেকে খুঁজে পান তবে সচেতন হন যে সেই নামটি সহ কিছু ফাংশন এমন স্ট্রিং তৈরি করবে যা জেএসএনের সাথে নয় "ইওলাল" এর সাথে সামঞ্জস্যপূর্ণ। উদাহরণস্বরূপ, নোডে, নিম্নলিখিতটি আপনাকে ফাংশন দেয় যা "ইওল" সামঞ্জস্যপূর্ণ ফর্ম্যাটে স্ট্রিং তৈরি করে:

var stringify = require('node-stringify'); // generates eval() format

এটি কার্যকর হতে পারে, তবে আপনার নির্দিষ্ট প্রয়োজন না থাকলে সম্ভবত এটি আপনি চান তা নয়।


1

যদি অ্যারেটি ফেরত পাঠানো হয় এবং কোনও একক বস্তুটি ফিরে না আসে তবে আপনি নিজের একক বস্তুকে সেই একক বস্তুযুক্ত অ্যারে হিসাবে ফেরত দেওয়ার চেষ্টা করতে পারেন:

[ { title: "One", key: "1" } ]

এই উপায়ে আপনি কোনও সামঞ্জস্যপূর্ণ ডেটা কাঠামো, অবজেক্টের একটি অ্যারে, ডেটা পেলোডের বিষয়টি বিবেচনা করেই ফিরিয়ে দিচ্ছেন।

আমি দেখতে পাচ্ছি যে আপনি নিজের একক অবজেক্টটিকে "প্রথম বন্ধনী" এ মুড়িয়ে দেওয়ার চেষ্টা করেছেন, এবং এটি উদাহরণ সহকারে জাভাস্ক্রিপ্টের সাথে আচরণ করার কারণ প্রস্তাব করেছেন [..] এর চেয়ে আলাদা (..)


1

যদি জিকিউরির ত্রুটি হ্যান্ডলারটি কল করা হয় এবং এক্সএইচআর অবজেক্টটিতে "পার্সার ত্রুটি" থাকে, তবে এটি সম্ভবত একটি পার্সার ত্রুটি সার্ভার থেকে ফিরে আসছে।

আপনি যখন প্যারামিটার ছাড়াই পরিষেবাটি কল করেন তখন কি আপনার একাধিক ফলাফলের পরিস্থিতি রয়েছে, তবে আপনি যখন একক রেকর্ডটি পুনরুদ্ধার করার জন্য প্যারামিটার সরবরাহ করার চেষ্টা করছেন তখন এটি ভেঙে যাচ্ছে?

আপনি কোন ব্যাকএন্ড থেকে এটি ফিরিয়ে দিচ্ছেন?

ASMX পরিষেবাদিতে, উদাহরণস্বরূপ, প্রায়শই এমনটি হয় যখন প্যারামিতিগুলি JSON স্ট্রিংয়ের পরিবর্তে JSON অবজেক্ট হিসাবে jQuery সরবরাহ করা হয়। যদি আপনি jQuery কে তার "ডেটা" প্যারামিটারের জন্য একটি আসল JSON অবজেক্ট সরবরাহ করেন তবে এটি এটিকে JSON হিসাবে না পাঠিয়ে স্ট্যান্ডার্ড ও ডিলিমিট কে, ভি জোসে সিরিয়ালাইজ করবে।


1

আমার কিছু বাস্তবায়নগুলিতে আমি যুক্ত করেছি:

obj = new Object; obj = (data.obj);

যা সমস্যার সমাধান বলে মনে হয়েছিল। মূল্যবোধ বা না দেখে মনে হচ্ছে এটি আমার জন্য ঠিক একই রকম।


নতুন অবজেক্টটি আরম্ভ করার সময় অবজেক্টটি আক্ষরিক ব্যবহার করুন, অবজেক্ট কনস্ট্রাক্টর নয়: var obj = {};
অ্যান্ড্রেস গ্রেচ 21

হ্যাঁ, আমি দেখতে পাচ্ছি, var myArray = [] অ্যারে এবং var myObject = {for এর জন্য, টিপ ড্র্রেসের জন্য ধন্যবাদ
জে

1

jQuery নির্দিষ্ট জেএসএন কীগুলিকে চোক করে। আমি এই JSON স্নিপেটটি পিএইচপিতে পাঠিয়েছিলাম:

echo json_encode((object) array('result' => 'success'));

'রেজাল্ট' কীটির নাম পরিবর্তন করে অন্য কিছু কাজ করে। আমি অনুমান করব এটি কোনও প্রকারের একটি সংরক্ষিত শব্দের সংঘর্ষ, এবং jQuery এ একটি বাগ (1.4.2) হতে পারে।


1

কোল্ডফিউশন পরিবেশে, এমন একটি জিনিস যা ত্রুটি সৃষ্টি করবে, এমনকি সু-গঠিত জেএসওএন সহ, কোল্ডফিউশন প্রশাসকের (ডিবাগিং এবং লগিং> ডিবাগ আউটপুট সেটিংসের অধীনে) অনুরোধ ডিবিগিং আউটপুট সক্ষম করা হচ্ছে । ডিবাগিং তথ্য JSON ডেটা দিয়ে ফিরে আসবে এবং এভাবে এটি অবৈধ করে তুলবে।


1

এটি চেষ্টা করুন

$.ajax({
    url: url,
    data:datas,
    success:function(datas, textStatus, jqXHR){
    var returnedData = jQuery.parseJSON(datas.substr(datas.indexOf('{')));
})};

আমার ক্ষেত্রে সার্ভার '{' এর আগে অজানা চরিত্রের সাথে সাড়া দেয়


1

আমি স্থিতি = পার্সিয়েরার এবং xhr.status = 200 পাচ্ছিলাম।

আমার জন্য ইস্যুটি ছিল JSON প্রতিক্রিয়াটির ভিতরে থাকা URL- এর '' switch 'এ স্যুইচিং' / 'এটি ঠিক করেছে।


0

আমি এটির সাথে লড়াই করে যাচ্ছিলাম এবং ডেটা অবজেক্টটি দেখানোর জন্য ফায়ারব্যাগ ব্যবহার না করা অবধি কয়েক ঘন্টা এটি বের করার চেষ্টা করেছি।

var data = eval("(" + data.responseText + ")");
console.log(data.count);

-1

ব্যবহার

$data = yourarray(); 
json_encode($data)

সার্ভার দিকে। ক্লায়েন্টের পক্ষে ডেটাটাইপ জেএসএনের সাথে এজাক্স ব্যবহার করুন এবং নিশ্চিত হয়ে নিন যে আপনার ডকুমেন্টের এনকোডিংটি বিওএম-এর সাথে ইউটিএফ -8 নয় এটি ইউটিএফ -8 হতে হবে।

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