2014-07-14 13 views
9

मैं कुछ जेसन को एक नोड सर्वर पर चलने की कोशिश कर रहा हूं लेकिन यह मुझे बता रहा है कि जेसन अवैध था। लेकिन इसकी नहीं, यह सिर्फ एक सादा पुरानी वस्तु है। वर्तमान में मैं त्रुटि 'अप्रत्याशित टोकन i' मिलजेसन को व्यक्त करने के लिए पोस्ट करना - अमान्य जेसन

ग्राहक:

$.ajax({ 
    contentType: 'application/json', 
    type: "POST", 
    url: "/admin", 
    data: {id: '435ghgf545ft5345', allowed: true} 
}); 

सर्वर:

var bodyParser = require('body-parser'); 
app.use(bodyParser({strict: false})); 

app.post('/admin', function(request, response) { 
    console.log(request.body); 
}); 

मैं भी पोस्ट मार्ग में दूसरा पैरामीटर के रूप में bodyParser.json() डालने की कोशिश की है और त्रुटि 'अमान्य जेसन पार्स पर' प्राप्त करें। मैं समझ नहीं सकता क्यों।

उत्तर

10

इस कोड को आपकी मदद कर सकता है:

var jsondataResource = JSON.stringify({id: '435ghgf545ft5345', allowed: true}); 

$.ajax({ 
    type: 'POST', //GET or POST or PUT or DELETE verb 
    async: false, 
    url: '/admin', // Location of the service 
    data: jsondataResource , //Data sent to server 
    contentType: 'application/json', // content type sent to server 
    dataType: 'json', //Expected data format from server 
    processdata: true, //True or False 
    crossDomain: true, 
    success: function (msg, textStatus, xmlHttp) { 
     result = msg; 
    }, 
    error: ServiceFailed // When Service call fails 
}); 
function ServiceFailed(result) { 
alert('Service call failed: ' + result.status + '' + result.statusText); 
Type = null; Url = null; Data = null; ContentType = null; DataType = null; ProcessData = null; 
} 
+1

अरे Sambath, इस के लिए धन्यवाद, यह था तथ्य यह है कि मैं अपने json stringify नहीं किया, इसलिए सर्वर एक पहले से ही पार्स वस्तु पार्स करने के लिए कोशिश कर रहा था में। – wazzaday

+0

ग्रेट वेलकम :) –

+6

कृपया कोड के मनमाना स्निपेट को न पोस्ट करें। आपको यह बताने की जरूरत है कि यह सही क्यों है और ओपी ने क्या गलत किया। – dopatraman

संबंधित मुद्दे