“Sözdizimi Hatası: 0 konumunda JSON'da beklenmeyen belirteç <”


199

Facebook benzeri içerik yayınlarını işleyen bir React uygulaması bileşeninde, bir hatayla karşılaşıyorum:

Feed.js: 94 tanımsız "ayrıştırıcı" "Sözdizimi Hata: JSON konumunda 0 konumunda beklenmeyen simge <

Ben render işlevi içinde HTML bir yazım hatası olduğu ortaya çıktı benzer bir hataya koştu, ama burada böyle görünmüyor.

Daha kafa karıştırıcı olarak, kodu daha eski, bilinen bir sürüme geri aldım ve hala hatayı alıyorum.

Feed.js:

import React from 'react';

var ThreadForm = React.createClass({
  getInitialState: function () {
    return {author: '', 
            text: '', 
            included: '',
            victim: ''
            }
  },
  handleAuthorChange: function (e) {
    this.setState({author: e.target.value})
  },
  handleTextChange: function (e) {
    this.setState({text: e.target.value})
  },
  handleIncludedChange: function (e) {
    this.setState({included: e.target.value})
  },
  handleVictimChange: function (e) {
    this.setState({victim: e.target.value})
  },
  handleSubmit: function (e) {
    e.preventDefault()
    var author = this.state.author.trim()
    var text = this.state.text.trim()
    var included = this.state.included.trim()
    var victim = this.state.victim.trim()
    if (!text || !author || !included || !victim) {
      return
    }
    this.props.onThreadSubmit({author: author, 
                                text: text, 
                                included: included,
                                victim: victim
                              })
    this.setState({author: '', 
                  text: '', 
                  included: '',
                  victim: ''
                  })
  },
  render: function () {
    return (
    <form className="threadForm" onSubmit={this.handleSubmit}>
      <input
        type="text"
        placeholder="Your name"
        value={this.state.author}
        onChange={this.handleAuthorChange} />
      <input
        type="text"
        placeholder="Say something..."
        value={this.state.text}
        onChange={this.handleTextChange} />
      <input
        type="text"
        placeholder="Name your victim"
        value={this.state.victim}
        onChange={this.handleVictimChange} />
      <input
        type="text"
        placeholder="Who can see?"
        value={this.state.included}
        onChange={this.handleIncludedChange} />
      <input type="submit" value="Post" />
    </form>
    )
  }
})

var ThreadsBox = React.createClass({
  loadThreadsFromServer: function () {
    $.ajax({
      url: this.props.url,
      dataType: 'json',
      cache: false,
      success: function (data) {
        this.setState({data: data})
      }.bind(this),
      error: function (xhr, status, err) {
        console.error(this.props.url, status, err.toString())
      }.bind(this)
    })
  },
  handleThreadSubmit: function (thread) {
    var threads = this.state.data
    var newThreads = threads.concat([thread])
    this.setState({data: newThreads})
    $.ajax({
      url: this.props.url,
      dataType: 'json',
      type: 'POST',
      data: thread,
      success: function (data) {
        this.setState({data: data})
      }.bind(this),
      error: function (xhr, status, err) {
        this.setState({data: threads})
        console.error(this.props.url, status, err.toString())
      }.bind(this)
    })
  },
  getInitialState: function () {
    return {data: []}
  },
  componentDidMount: function () {
    this.loadThreadsFromServer()
    setInterval(this.loadThreadsFromServer, this.props.pollInterval)
  },
  render: function () {
    return (
    <div className="threadsBox">
      <h1>Feed</h1>
      <div>
        <ThreadForm onThreadSubmit={this.handleThreadSubmit} />
      </div>
    </div>
    )
  }
})

module.exports = ThreadsBox

Chrome geliştirici araçlarında, hata bu işlevden geliyor gibi görünüyor:

 loadThreadsFromServer: function loadThreadsFromServer() {
    $.ajax({
      url: this.props.url,
      dataType: 'json',
      cache: false,
      success: function (data) {
        this.setState({ data: data });
      }.bind(this),
      error: function (xhr, status, err) {
        console.error(this.props.url, status, err.toString());
      }.bind(this)
    });
  },

çizginin console.error(this.props.url, status, err.toString()altı çizili.

Hata sunucudan JSON verileri çekerek bir şey var gibi görünüyor gibi, boş bir db başlayarak denedim, ancak hata devam ediyor. React sürekli sunucuya bağlanmaya çalıştığında ve sonunda tarayıcıyı kilitlediğinden hata muhtemelen sonsuz bir döngüde çağrılmış gibi görünüyor.

DÜZENLE:

Chrome dev araçları ve Chrome REST istemcisi ile sunucu yanıtını kontrol ettim ve veriler uygun JSON gibi görünüyor.

DÜZENLEME 2:

Amaçlanan API bitiş noktası gerçekten doğru JSON verilerini ve biçimini döndürüyor olsa da, React http://localhost:3000/?_=1463499798727beklenen yerine yoklama yapıyorhttp://localhost:3001/api/threads .

Arka uç verilerini döndürmek için bağlantı noktası 3001 üzerinde çalışan ekspres uygulama ile 3000 numaralı bağlantı noktasında bir webpack sıcak yeniden yükleme sunucusu çalıştırıyorum. Burada sinir bozucu olan, bunun üzerinde en son çalıştığımda doğru çalışmasıydı ve kırmak için değiştirebileceğim şeyi bulamıyor.


11
Bu, "JSON" unuzun aslında HTML olduğunu gösterir. Sunucudan geri aldığınız verilere bakın.
Quentin

2
Bu, böyle bir şey yaparsanız aldığınız hatadır JSON.parse("<foo>")- (beklediğiniz dataType: 'json') bir JSON dizesi başlayamaz <.
apsiller

@Quantin'in dediği gibi, html olabilir, belki bir çeşit hata olabilir, aynı url'yi bazı dinlenme müşterileri ile deneyin
maurycy

Dediğim gibi, boş bir db ile denedim (sadece [] döndürür) ve hala aynı hatayı veriyor
Cameron Sima

Büyük olasılıkla, cihazınıza bağlı olarak API isteklerini proxy yapmanız gerekir NODE_ENV. Şuna
Kevin Suttle

Yanıtlar:


148

Hata mesajının ifadesi, çalıştırdığınızda Google Chrome'dan aldıklarınıza karşılık gelir JSON.parse('<...'). Sunucunun ayarlandığını söylediğini biliyorum Content-Type:application/json, ancak yanıt gövdesinin aslında HTML olduğuna inanıyorum .

Feed.js:94 undefined "parsererror" "SyntaxError: Unexpected token < in JSON at position 0"

çizginin console.error(this.props.url, status, err.toString())altı çizili.

errAslında içinde atıldı jQuerybir değişken olarak size ve geçtierr . Bu satırın altı çizilmesinin nedeni, oturum açtığınız yerdir.

Günlüğe kaydetmenizi eklemenizi öneririm. xhrYanıt hakkında daha fazla bilgi edinmek için gerçek (XMLHttpRequest) özelliklerine bakın. Eklemeyi deneyin console.warn(xhr.responseText), büyük olasılıkla alınan HTML'yi görürsünüz.


3
Teşekkürler, bunu yaptım ve haklısın - tepki yanlış URL'yi yoklıyor ve index.html içeriğini döndürüyor. Nedenini bulamıyorum.
Cameron Sima

8
Ek hata ayıklama deyimi için teşekkürler, kullanmam gerekiyordu console.warn(jqxhr.responseText). Sorunumu teşhis etmede çok yardımcı oldu.
user2441511

Mimi314159 @, console.log, console.warnve console.errorsenin Konsoluna tüm yazma olacak. Ancak Konsol genellikle Günlük Filtresi seçenekleri sunacağından, bunların tercih ettiğiniz şekilde etkinleştirildiğinden veya devre dışı bırakıldığından emin olun.
Bryan Field

1
Benim durumumda, sunucunun geçerli JSON yerine HTML döndürmesine neden olan bir PHP hatası oluştu.
Derek S

54

HTML (veya XML) sunucudan geri alıyorsunuz, ancak dataType: jsonjQuery'ye JSON olarak ayrıştırılmasını söylüyor. Sunucunun yanıtının içeriğini görmek için Chrome geliştirici araçlarındaki "Ağ" sekmesine bakın.


Kontrol ettim ve düzgün biçimlendirilmiş json döndürüyor gibi görünüyor. Yanıt üstbilgisi şöyledir: Access-Control-Allow-Origin: * Cache-Control: no-cache İçerik-Uzunluk: 2487 Content-Type: application / json; charset = utf-8 Tarih: Salı, 17 Mayıs 2016 15:34:00 GMT ETag: W / "9b7-yi1 / G0RRpr0DlOVc9u7cMw" X-Powered-By: Express
Cameron Sima

1
@AVI Kaynak sınıfınızda MIME türünü belirtmeniz gerektiğine inanıyorum. (ör.)@Produces(MediaType.APPLICATION_JSON)
DJ2

10

Bu benim için bir izin sorunu oldu. Cancan ile yetki almadığım bir url'ye erişmeye çalışıyordum, bu yüzden url değiştirildi users/sign_in. yeniden yönlendirilen url, json'a değil, html'ye yanıt verir. Bir html yanıtındaki ilk karakter <.


ve yanıt olarak bir HTML aldığınızda .. bu html'ye nasıl yönlendirebilirsiniz? Teşekkür ederim.
JuMoGar

1
ASP.NET MVC rağmen ben de vardı. Diğer .NETters için, benim çerçeve [AllowAnonymous] özniteliği ile süslemek unuttum böylece çerçeve bana AJAX çağrımı çökmesini yetkisiz hatayı HTML döndürmeye çalışıyordu.
Jason Marsell

8

Belirteci 'm' başka karakterler olabilir nerede "SyntaxError: JSON konumunda beklenmedik belirteç m" yaşadı.

DB testi için RESTconsole'u kullanırken JSON nesnesindeki çift tırnaklardan birini kaçırdığım, {"name:" math "} olarak doğru olanın {" name ":" math "} olması gerektiği ortaya çıktı

Bu beceriksiz hatayı bulmak bana çok çaba gösterdi. Korkarım diğerleri benzer serserilerle karşılaşırlar.


5

Benim durumumda, bu çalışan webpack alıyordum ve yerel node_modules dir bir yerde bazı yolsuzluk olduğu ortaya çıktı.

rm -rf node_modules
npm install

... tekrar çalışmasını sağlamak için yeterliydi.


1
bununla birlikte, package-lock.json kaldırmayı denedim. Sonra benim için çalıştı.
Mahesh

3

Benim durumumda hata benim dönüş değeri bir değişkene atamama bir sonucuydu. Hata mesajına aşağıdakiler neden oldu:

return new JavaScriptSerializer().Serialize("hello");

Bunu şöyle değiştirdim:

string H = "hello";
return new JavaScriptSerializer().Serialize(H);

JSON değişkeni olmadan verileri düzgün biçimlendiremez.


3

Bu hata, yanıtı olarak tanımladığınızda ve yanıt olarak application/jsonbir HTML aldığınızda oluşur . Temel olarak, JSON yanıtıyla belirli bir url için sunucu tarafı komut dosyası yazdığınızda, ancak hata biçimi HTML'de olduğunda bu oldu.


3

Ben aynı sorunla karşı karşıya
i. .jajax yönteminden dataType: 'json' kaldırıldı



1

Bir öğretici sonrasında aynı hata iletisini aldım. Sorunumuz ajax çağrısında 'url: this.props.url' gibi görünüyor. React.DOM'da öğenizi oluştururken, benimki buna benziyor.

ReactDOM.render(
    <CommentBox data="/api/comments" pollInterval={2000}/>,
    document.getElementById('content')
);

Peki, bu CommentBox'un sahne kısmında bir URL yok, sadece veriler var. Geçiş yaptığımda url: this.props.url-> url: this.props.data, sunucuya doğru çağrı yaptı ve beklenen verileri geri aldım.

Umut ediyorum bu yardım eder.


1

Benim sorunum stringben daha sonra ayrıştırmak için çalışıyordu uygun bir JSON biçiminde olmayan bir veri geri alıyordu oldu. simple example: JSON.parse('{hello there}')saat h'de bir hata verecektir. Benim durumumda, geri arama url'si nesnelerden önce gereksiz bir karakter döndürüyordu: employee_names([{"name":....ve 0'da e hatası alıyordu. Geri arama URL'mün kendisinde, düzeltildiğinde yalnızca nesneleri döndüren bir sorun vardı.


1

Benim durumumda, Azure tarafından barındırılan Angular 2/4 sitesi için mySite / api / ... API çağrım, mySite yönlendirme sorunları nedeniyle yeniden yönlendiriyordu. Dolayısıyla, api JSON yerine yeniden yönlendirilen sayfadan HTML döndürüyordu. API yolu için bir web.config dosyasına bir dışlama ekledim.

Site ve API farklı bağlantı noktalarında olduğu için yerel olarak geliştirirken bu hatayı almıyordum. Muhtemelen bunu yapmanın daha iyi bir yolu var ... ama işe yaradı.

<?xml version="1.0" encoding="UTF-8"?>

<configuration>
    <system.webServer>
        <rewrite>
        <rules>
        <clear />

        <!-- ignore static files -->
        <rule name="AngularJS Conditions" stopProcessing="true">
        <match url="(app/.*|css/.*|fonts/.*|assets/.*|images/.*|js/.*|api/.*)" />
        <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
        <action type="None" />
        </rule>

        <!--remaining all other url's point to index.html file -->
        <rule name="AngularJS Wildcard" enabled="true">
        <match url="(.*)" />
        <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
        <action type="Rewrite" url="index.html" />
        </rule>

        </rules>
        </rewrite>
    </system.webServer>
</configuration>

1

Bu eski olabilir. Ancak, sadece açısal olarak meydana geldi, istek ve yanıt için içerik türü kodumda farklıydı. Bu nedenle, başlıkları kontrol edin,

 let headers = new Headers({
        'Content-Type': 'application/json',
        **Accept**: 'application/json'
    });

React aksiyomlarında

axios({
  method:'get',
  url:'http://  ',
 headers: {
         'Content-Type': 'application/json',
        Accept: 'application/json'
    },
  responseType:'json'
})

jQuery Ajax:

 $.ajax({
      url: this.props.url,
      dataType: 'json',
**headers: { 
          'Content-Type': 'application/json',
        Accept: 'application/json'
    },**
      cache: false,
      success: function (data) {
        this.setState({ data: data });
      }.bind(this),
      error: function (xhr, status, err) {
        console.error(this.props.url, status, err.toString());
      }.bind(this)
    });
  },

1

Özetle, bu hatayı veya benzer bir hatayı alıyorsanız, bu sadece bir şey anlamına gelir. Yani, kod tabanımızın bir yerinde geçerli bir JSON formatının işlenmesini bekliyorduk ve bir tane alamadık. Örneğin:

var string = "some string";
JSON.parse(string)

Bir hata söyleyecek,

Yakalanmayan Sözdizimi Hatası: JSON konumunda 0 konumunda beklenmeyen simge var

Çünkü ilk karakteri stringolan s& şimdi geçerli bir JSON değil. Bu, arasına hata da atabilir. sevmek:

var invalidJSON= '{"foo" : "bar", "missedquotehere : "value" }';
JSON.parse(invalidJSON)

Hata verir:

VM598:1 Uncaught SyntaxError: Unexpected token v in JSON at position 36

çünkü invalidJSON36. pozisyondaki JSON dizesinde bir teklifi kaçırdık .

Ve bunu düzeltirseniz:

var validJSON= '{"foo" : "bar", "missedquotehere : "value" }';
JSON.parse(validJSON)

size JSON'da bir nesne verecektir.

Şimdi, bu hata herhangi bir yerde ve herhangi bir çerçevede / kütüphanede atılabilir. Çoğu zaman geçerli bir JSON olmayan bir ağ yanıtı okuyor olabilirsiniz. Yani bu sorunu ayıklama adımları şöyle olabilir:

  1. curl veya aradığınız gerçek API'yı tıklayın.
  2. Cevabı Günlüğe Kaydet / Kopyala ve ile ayrıştırmayı deneyin JSON.parse. Hata alıyorsanız, düzeltin.
  3. Değilse, kodunuzun orijinal yanıtı değiştirmediğinden / değiştirmediğinden emin olun.

0

Bu ile çok zaman geçirdikten sonra, benim durumumda "package.json dosyamda tanımlanan" homepage "uygulamasının firebase (aynı 'jeton' hatası) üzerinde çalışmamasını sağladığını öğrendim. Tepki uygulamamı create-reakt-app kullanarak oluşturdum, sonra READ.me dosyasındaki firebase kılavuzunu github sayfalarına dağıtmak için kullandım, yönlendiricinin çalışması için ekstra iş yapmak zorunda olduğumu fark ettim ve firebase'e geçtim. github guide ana sayfa anahtarını package.json dosyasına ekledi ve konuşlandırma sorununa neden oldu.


0

Protip: Yerel bir Node.js sunucusunda json'u test ediyor musunuz? Bu yola giden bir şeyin olmadığından emin olun

'/:url(app|assets|stuff|etc)';

0

Genel düzeyde bu hata, sözdizimi hataları olan bir JSON nesnesi ayrıştırıldığında oluşur. Message özelliğinin kaçışsız çift tırnak içerdiği böyle bir şey düşünün:

{
    "data": [{
        "code": "1",
        "message": "This message has "unescaped" quotes, which is a JSON syntax error."
    }]
}

Uygulamanızda bir yerde JSON varsa, sözdizimi hatası olmadığını doğrulamak için JSONLint aracılığıyla çalıştırmak iyidir . Genellikle benim durumumda durum böyle değil, genellikle JSON suçlu olan bir API'dan döndü.

Content-Type:application/json; charset=UTF-8Yanıt gövdesinde geçersiz JSON içeren bir başlıkla yanıt döndüren bir HTTP API'sine bir XHR isteği yapıldığında bu hatayı görürsünüz.

Bir sunucu tarafı API denetleyicisi bir sözdizimi hatasını düzgün işlemiyorsa ve yanıtın bir parçası olarak yazdırılıyorsa, döndürülen JSON yapısını bozar. Buna iyi bir örnek, yanıt gövdesinde bir PHP Uyarısı veya Bildirimi içeren bir API yanıtıdır:

<b>Notice</b>:  Undefined variable: something in <b>/path/to/some-api-controller.php</b> on line <b>99</b><br />
{
    "success": false,
    "data": [{ ... }]
}

Zamanın% 95'i bu benim için sorunun kaynağı ve diğer yanıtlarda biraz ele alınmasına rağmen, açıkça tanımlandığını hissetmedim. Umarım bu yardımcı olur, hangi API yanıtı bir JSON sözdizimi hatası içeriyor izlemek için kullanışlı bir yol arıyorsanız bunun için bir Açısal modül yazdım .

İşte modül:

/**
 * Track Incomplete XHR Requests
 * 
 * Extend httpInterceptor to track XHR completions and keep a queue 
 * of our HTTP requests in order to find if any are incomplete or 
 * never finish, usually this is the source  of the issue if it's 
 * XHR related
 */
angular.module( "xhrErrorTracking", [
        'ng',
        'ngResource'
    ] )
    .factory( 'xhrErrorTracking', [ '$q', function( $q ) {
        var currentResponse = false;

        return {
            response: function( response ) {
                currentResponse = response;
                return response || $q.when( response );
            },
            responseError: function( rejection ) {
                var requestDesc = currentResponse.config.method + ' ' + currentResponse.config.url;
                if ( currentResponse.config.params ) requestDesc += ' ' + JSON.stringify( currentResponse.config.params );

                console.warn( 'JSON Errors Found in XHR Response: ' + requestDesc, currentResponse );

                return $q.reject( rejection );
            }
        };
    } ] )
    .config( [ '$httpProvider', function( $httpProvider ) {
        $httpProvider.interceptors.push( 'xhrErrorTracking' );
    } ] );

Daha fazla detay yukarıda belirtilen blog makalesinde bulunabilir, burada bulunan her şeyi göndermedim, çünkü muhtemelen hepsi alakalı değil.


0

Benim için bu, JSON olarak döndürdüğüm nesnenin özelliklerinden biri bir istisna attığında oldu.

public Dictionary<string, int> Clients { get; set; }
public int CRCount
{
    get
    {
        var count = 0;
        //throws when Clients is null
        foreach (var c in Clients) {
            count += c.Value;
        }
        return count;
    }
}

Boş bir kontrol ekleyerek, benim için düzeltti:

public Dictionary<string, int> Clients { get; set; }
public int CRCount
{
    get
    {
        var count = 0;
        if (Clients != null) {
            foreach (var c in Clients) {
                count += c.Value;
            }
        }
        return count;
    }
}

0

kontrol etmek için basit bir şey, json dosyasına herhangi bir şey yorum yapmadığınızdan emin olun

//comments here will not be parsed and throw error

0

Sadece yanıtlara eklemek için, API yanıtınız şunları içerdiğinde de olur

<?php{username: 'Some'}

arka ucunuz PHP kullanıyorsa bu durum söz konusu olabilir.


0

Python'da, sonucu html şablonuna göndermeden önce json.Dump (str) kullanabilirsiniz. Bu komut dizesi ile doğru json biçimine dönüştürün ve html şablonuna gönderin. Bu sonucu JSON.parse'a (sonuç) gönderdikten sonra, bu doğru yanıttır ve bunu kullanabilirsiniz.


0

Bazıları için bu size yardımcı olabilir: Wordpress REST API ile benzer bir deneyim yaşadım. Hatta doğru rotalara veya son noktalara sahip olup olmadığımı kontrol etmek için Postacı'yı kullandım. Daha sonra yanlışlıkla senaryomun içine bir "yankı" koyduğumu öğrendim - kancalar:

Konsolunuzda hata ayıklama ve kontrol etme

Hatanın nedeni

Yani temelde, bu, AJAX hatasına neden olan komut dosyasıyla karıştırılmış JSON olmayan bir değer yazdırdığım anlamına gelir - "SyntaxError: 0 konumunda JSON'da beklenmeyen simge r"


0

Javascript kodunuzun bazı json yanıtlarına bakması ve metin gibi başka bir şey almanız nedeniyle bu durum oluşabilir.


1
Lütfen cevapları açıkça çözmedikçe, bir astar vermek yerine cevap verirken ayrıntılı olarak hazırlayın. Açıklama, cevap arayanların çözümü daha iyi anlamalarına yardımcı olacaktır.
Rai

0

Aynı sorunu yaşıyordum. Açısal 7'de yapılan bir istemciye yanıt göndermek için basit bir node.js sunucusu kullanıyorum. Başlangıçta response.end ('nodejs sunucusundan Merhaba dünya') gönderiyordum; ama bir şekilde açısal onu ayrıştıramadı.


0

create-react-appYerel json dosyalarını kullanan ve almaya çalışanlar.

Olduğu gibi create-react-app, webpack-dev-serveristeği işlemek için kullanılan ve her istek için o hizmet vermektedir index.html. Yani alıyorsun

Sözdizimi Hatası: JSON konumunda 0 konumunda beklenmeyen simge <.

Bunu çözmek için uygulamayı çıkarmanız ve webpack-dev-serveryapılandırma dosyasını değiştirmeniz gerekir .

Şunlar arasından adımları izleyebilirsiniz burada .


0

Benim durumumda (arka uç), res.send (token) kullanıyordum;

Res.send (data) olarak değiştirdiğimde her şey düzeltildi;

Her şey gerektiği gibi çalışıyor ve gönderiyorsa bunu kontrol etmek isteyebilirsiniz, ancak hata ön ucunuzda ortaya çıkıyor.


0

Bu hatanın olasılıkları çok fazladır.

Benim durumumda, sorunun homepagedosyalanmaya package.jsonneden olduğunu eklediğini buldum .

Kontrol etmeye değer: package.jsondeğişimde:

homepage: "www.example.com"

için

hompage: ""   

-2

Başka biri Mozilla'daki Web API'larındaki "Getirme Kullanımı" dokümanlarından getirme kullanıyorsa: (Bu gerçekten yararlıdır: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch )

  fetch(api_url + '/database', {
    method: 'POST', // or 'PUT'
    headers: {
     'Content-Type': 'application/json'
    },
    body: qrdata //notice that it is not qr but qrdata
  })
  .then((response) => response.json())
  .then((data) => {
    console.log('Success:', data);
  })  
  .catch((error) => {
  console.error('Error:', error);  });

Bu fonksiyonun içindeydi:

async function postQRData(qr) {

  let qrdata = qr; //this was added to fix it!
  //then fetch was here
}

qrBir nesne olduğuna inandığım qrgibi işlevime geçiyordum çünkü şöyle görünüyordu: {"name": "Jade", "lname": "Bet", "pet":"cat"}ama sözdizimi hataları almaya devam ettim. Başka bir şeye atadığımda let qrdata = qr;işe yaradı.


-7

0 konumunda JSON'da beklenmeyen simge <

Bu hatanın basit bir çözümü styles.lessdosyaya yorum yazmaktır .


48
Bu Stackoverflow'da gördüğüm en tuhaf cevaplardan biri.
Kevin Leary

Merhaba! Yorum gönderirken, sorulan soruya tamamen uygulanabilir olduğundan emin olun. Bir styles.lessdosyaya yorumların tam olarak yazılmasının neden arka uç sunucu kodu sorunu gibi görünenleri çözebileceğini bize söylerseniz, yanıtınız daha iyi olabilir.
Andrew Gray
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.