我正在编写一段代码,用户点击按钮拨打电话,并向他/她显示通话状态。
一切正常,调用也在进行,但发送json响应的服务器在另一个域上,我无法控制其响应。因此我使用jsonp
来获取响应,但无论我做了什么,我都会收到 Uncaught SyntaxError:Unexpected token 的错误。
我附上了我的代码。请帮助,因为这是一个现场项目,我很困难。我需要一个响应来提醒服务器收到的消息。如果成功,服务器收到的消息为{"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;
}
}
答案 0 :(得分:0)
尝试将此作为绝对最小值,您可以为数字传递有效的硬连线值:
var url = 'http://ip.jsontest.com/ ';
$.ajax({
url: url,
cache: false,
dataType: 'jsonp',
success: function (res) {
if (res != undefined) console.log(res);
},
error: function (res) {
if (res != undefined) console.log(res);
}
});