Я работаю над фрагментом кода, где пользователь нажимает кнопку, чтобы позвонить, и статус вызова отображается ему/ей.Получение Uncaught SyntaxError: Неожиданный токен: при чтении ответа jsonp
Все работает нормально, и вызовы также выполняются, но сервер, который отправляет ответ json, находится в другом домене, и я не могу контролировать его ответ. Поэтому я использовал jsonp
, чтобы получить ответ, но независимо от того, что я сделал, я продолжаю получать ошибку Uncaught SyntaxError: Неожиданный токен.
Я прикрепляю код. пожалуйста, помогите, поскольку это живой проект, и я сильно застрял в нем. Мне нужен ответ, чтобы получить предупреждение с сообщением, полученным сервером. сообщение, полученное сервером в случае успеха, равно {"success": {"status": "success", "message": "Call successfully placed"}}
, а в случае ошибки {"error": {"message": "Invalid API Key"}}
. Мне просто нужно отобразить часть сообщения.
мой код:
function makecall() {
document.getElementById('<%=click2call_submitbtn.ClientID%>').disabled = true;
var agentNum = document.getElementById('<%=lblCallFrom.ClientID%>').innerHTML;
var custNum = "+91";
custNum = custNum + document.getElementById('<%=txtNotoCall.ClientID%>').value;
document.getElementById('<%=lblCallStatus.ClientID%>').innerHTML = "Calling...";
if (validatePhone(agentNum) && validatePhone(custNum)) {
$.ajax({
url: 'http://www.knowlarity.com/vr/api/click2call/?api_key=9e69eab0-1ec7-11e3-866c-16829204aaa4&agent_number=agent_number_variable&phone_number=Caller_number_variable&sr_number=%2B918881692001&response_format=json'.replace('Caller_number_variable', custNum.replace('+', '%2B')).replace('agent_number_variable', agentNum.replace('+', '%2B')),
type: 'GET',
cache: false,
dataType: 'jsonp',
success: function (res) {
alert(JSON.stringify(res));
},
error: function (res) {
alert(JSON.stringify(res));
}
});
} else {
document.getElementById('<%=lblCallStatus.ClientID%>').innerHTML = "Num. should be a valid 10 digit mobile no.";
document.getElementById('<%=click2call_submitbtn.ClientID%>').disabled = false;
}
}
Что вы получаете обратно от удаленного сервера, вы можете использовать скрипач и искать ответ, чтобы увидеть, что его возвращает, и если оно в ожидаемом формате. Также почему вы кодируете & между параметрами запроса –
ответ в предупреждении, который я получаю, это {«readyState»: 4, «status»: 200, «statusText»: «load»}, а консоль в Chrome предоставляет error Uncaught SyntaxError: Неожиданный токен:. Кодировка URI для & amp - это потому, что тот же самый я получил от серверной компании. если я нажимаю на ссылку www.knowlarity.com/:1, показанную на консоли, вместе с этой ошибкой, я получаю текст успеха {«успех»: {«статус»: «успех», «сообщение»: «успешно выполнен вызов «}}. – user3017228
Также, когда я тестировал URL-адрес в JSONLint, валидатор выдал результат как действительный JSON. выход был { «Успех»: { «статус»: «Успех», «сообщение» : «Вызов успешно разместило» } } – user3017228