php - 如何使用CROSS-DOMAIN Ajax / Jquery获取POST和GET变量?

时间:2016-03-30 14:37:41

标签: javascript php jquery ajax cross-domain

我遇到了使用Jquery和PHP的跨域请求的问题。

我在前端方面的代码:

$(document).ready(function(e) {

    var params = {};
    params['phone'] = "123";

    $.ajax({
        type: "GET",
        crossDomain: true,
        dataType : "jsonp",
        jsonp: 'jsonp_callback',
        url: "http://tennisterin.com/api/booking/user",
        data: params,
        error: function( xhr, textStatus ) {
          alert( [ xhr.status, textStatus ] );
        },
        success: function(data){
          console.log(data);  
        }
    });

});

这就是我在服务器(php)方面所拥有的:

if (isset($_GET['phone'])) { $phone = inCode($_GET['phone']); } else { $phone = ""; }
echo $phone; //always empty

一切都很好,有本地要求但是"电话"从跨域位置请求时始终为空。

为什么会有问题?怎么解决?有什么想法吗?

谢谢!

P.S。 我找到了代码的狭窄地方: 当我使用

时,一切正常
url: "http://tennisterin.com/api.php?page=booking&subpage=user",

而不是

url: "http://tennisterin.com/api/booking/user",

但是对于这种情况,我在.htaccess中有工作规则:

RewriteRule ^api/booking/user?$ api.php?page=booking&subpage=user [L]

所以它应该双方都有效! 我只看到跨域请求的问题。跨域和.htaccess如何连接?

0 个答案:

没有答案