मैं इस पर कुछ दिनों से काम कर रहा हूं। मुझे यकीन है कि यह वास्तव में कुछ बेवकूफी भरा है, लेकिन मैं अपने विवेक के अंत में हूं।

सार्वजनिक फ़ाइलें ठीक से सेट की गई हैं।

त्रुटि संदेश:

POST 127.0.0.1:8080/api/pvtToggle 404 (Not Found)

फ्रंट एंड एचटीएमएल:

<li class="list-group-item list-group-item-dark">
   <div class="row">
     <div class="col-md-4"><strong>Heating:</strong> {{#if heating}} {{this.heating}} {{else}} N/A {{/if}}</div>
     <div class="col-md-4"><strong>Cooling:</strong> {{#if cooling}} {{this.cooling}} {{else}} N/A {{/if}}</div>
     <div class="col-md-4">
       <input type="checkbox" id="pvt{{this.id}}" checked="{{this.private}}" onchange="togDefine({{this.id}}, {{this.private}});" data-toggle="toggle" data-on="Private" data-off="Public" data-onstyle="success" data-offstyle="danger" />
     </div>
   </div>

अजाक्स कॉल:

//  Private-Public toggle
let togDefine = (id, pvt) => {
  $.ajax({
    type: "POST",
    url: "/api/pvtToggle",
    data: {
      id: id,
      newState: (pvt === 'true') ? false : true
    },
    success: function(text) {
      if (text === 'ok') {
        pvtSuccess(id, pvt);
      } else {
        console.log('updatePvt failed');
      }
    }
  });

};


let pvtSuccess = (id, pvt) => {
  $('#pvt' + id).attr('checked', (pvt === 'true') ? 'false' : 'true');
};

पिछला अंत:

//TOGGLE Private vs Public PROPERTY
app.put('/api/pvtToggle/', isAuthenticated, function(request, response) {
  db.Prop.update({
    private: request.params.newState
  }, {
    where: {
      id: request.params.id
    }
  }).then(data => {
    response.send('ok');
  }).catch(error => {
    console.log(error);
  });

});

कृपया यह पता लगाने में मेरी सहायता करें कि अनुरोध ठीक से काम क्यों नहीं कर रहा है। :डी

0
Eric 22 अगस्त 2020, 09:56

1 उत्तर

सबसे बढ़िया उत्तर

आपका समापन बिंदु app.put है, जिसका अर्थ है कि यह एक पुट अनुरोध का जवाब देता है,

लेकिन आपके अजाक्स/लाने POST अनुरोध कर रहे हैं।

1
zkldi 22 अगस्त 2020, 10:02