六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 38|回复: 0

Ajax跨域请求

[复制链接]

升级  50%

5

主题

5

主题

5

主题

童生

Rank: 1

积分
25
 楼主| 发表于 2013-1-23 02:42:51 | 显示全部楼层 |阅读模式
       最近项目产品中有个功能需要完成外乎电话功能,公司买了个第三方的软件实现该功能。该软件需要我们给它个http请求传送参数,然后它得请求中的参数实现外呼,至于第三方软件是怎么工作的先就不谈,主要记录下本人在开发过程中的遇到的一些问题和解决方法。
       第三方软件工作的原理是监听本地的一个端口,然后得到一个http请求,请求中带了一个电话号码参数以便于外呼电话,该请求为:
http://127.0.0.1:portnum/makecall?phone=*****     该请求的发送可以通过两种方式:1、webservice  2、Ajax
 
       webservice技术本人还没用过所以不谈,在这里是用Ajax的跨域请求实现的
<html><title>简单外呼页面</title><body><input id="call" type="text" size="16" /><input id="callButton" type="button" value="外呼" callnumber").value)"/></body></html>    上面call.jsp是实现拨打电话的界面,用户输入电话后,点击“呼叫”调用js,js发送了一个跨域请求,代码如下:
function call(phone){    if(null==phone||phone=="")return;    var url = "http://127.0.0.1:18***/makecall?phone="+phone;    var stat = document.createElement("<img id='stat' src='"+url+"'style='display:none;'/>");    document.body.insertBefore(stat);    alert("拨打成功");}该JS发出Http求的方法是通过在页面创建一个img对象,然后通过img对象的src属性发出的一个Http请求的。
    另一种方法是通过JQuery的Ajax的跨域请求脚本调用,上面的JS方法改成下面方法:
<script type="text/javascript">//得到callButton按钮var oBtnTest = $("#callButton"); oBtnTest.click(function(){        //得到call文本框输入值        var phone =  $("#call").attr("value");        //调用jQuery脚本请求        jQuery.getScript("http://127.0.0.1:18***/makecall?phone="+phone,function(){alert("拨打成功")});             });   </script> 
上面两种方法都能实现Ajax跨域请求的发送。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表