عندما أقوم بإجراء مكالمة Ajax ، يمكنني رؤية قيمة الاستجابة الصحيحة في مفتش المتصفح. ولكن ، عندما أريد استخدام هذه الاستجابة في شبيبة ، لا أستطيع.
$(document).ready(function(){
$("button").click(function(){
var origin = "US";
var price = "277";
var currency = "AED";
var weight = "500";
var weightCurrency = "gram";
var count = 1;
$.ajax({
url: "http://www.zakoola.com/order/GetCalculatedPrice",
type: "Post",
data: { Origin: origin, Price: price, Currency: currency, Weight: weight, WeightCurrency: weightCurrency, Count: count }
})
.done(function (res) {
$("#price").html(res);
});
});
});
انا املك h1
علامة بمعرف #price
في HTML. الى جانب ذلك ، بدلا من تغيير h1
حاولت النص alert()
لإظهار res
القيمة ، لكنها لا تعمل. يبدو أن وظيفة الاستجابة لا يتم استدعاؤها مطلقًا ولكن يمكنني رؤية قيمة الاستجابة في المفتش.
تحديث 1: يقول وحدة التحكم Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://www.zakoola.com/order/GetCalculatedPrice. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
و .fail
يتم استدعاء الدالة مع الإرجاع التالي: {"readyState":0,"status":0,"statusText":"error"}
تحديث 2: فايرفوكس فقط يظهر حمولة الاستجابة بشكل صحيح. Edge & IE ليست كذلك.