curl --dump-header - -H "Content-Type: application/json" -X POST --data '{"latlong": "test"}' http://localhost:8000/geo/api/geolocation/
ऊपर काम करता है ठीक लेकिन जब मैं ajax में पोस्ट को दोहराने के लिए कोशिश नीचे मैं 500 त्रुटि मिलती है।अजाक्स पोस्ट और Django Tastypie
$.ajax({
type: 'POST',
url: 'http://localhost:8000/geo/api/geolocation/',
data: '{"latlong": "test"}',
success: latlongSaved(),
dataType: "application/json",
processData: false,
});
त्रुटि संदेश है:
{"error_message": "The format indicated 'application/x-www-form-urlencoded' had no available deserialization method. Please check your ``formats`` and ``content_types`` on your Serializer." .... }
ध्यान देने योग्य बात यह क्रॉस डोमेन है और मैं django-crossdomainxhr-middleware.py Git के माध्यम से पाया उपयोग कर रहा हूँ वर्थ: सार
अगर मैं एक जोड़ने इस तरह ajax कॉल करने के लिए सामग्री प्रकार:
contentType: "application/json"
मैं यह त्रुटि वापस पाने:
XMLHttpRequest cannot load http://localhost:8000/geo/api/geolocation/. Request header field Content-Type is not allowed by Access-Control-Allow-Headers.
Request URL:http://localhost:8000/geo/api/geolocation/
Request Method:OPTIONS
Status Code:200 OK
Request Headersview source
Access-Control-Request-Headers:Origin, Content-Type, Accept
Access-Control-Request-Method:POST
Origin:http://localhost:3000
Response Headersview source
Access-Control-Allow-Methods:POST,GET,OPTIONS,PUT,DELETE
Access-Control-Allow-Origin:*
Content-Type:text/html; charset=utf-8
Date:Tue, 23 Aug 2011 07:59:49 GMT
Server:WSGIServer/0.1 Python/2.6.1
दस्तावेज़ों की जांच करें - आपको यूआरएल स्ट्रिंग में जेसन विकल्प सेट करने की आवश्यकता हो सकती है। – Marcin
क्या आप 'curl' अनुरोध शीर्षलेख और jQuery शीर्षलेख के बीच अंतर पोस्ट कर सकते हैं? आप फ़ायरबग के अंदर कंसोल टैब में jQuery शीर्षलेख देख सकते हैं। –