Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 来自带有CodeIgniter的Bookmarklet的异步页面调用_Php_Javascript_Codeigniter_Asynchronous - Fatal编程技术网

Php 来自带有CodeIgniter的Bookmarklet的异步页面调用

Php 来自带有CodeIgniter的Bookmarklet的异步页面调用,php,javascript,codeigniter,asynchronous,Php,Javascript,Codeigniter,Asynchronous,我正在尝试制作一个bookmarklet,它将获取当前页面的URL,并将其发送到使用CodeIgniter编写的应用程序 我经常遇到的问题是,我不能进行标准的AJAX调用,因为它是跨域的。这是不允许的,而且我无法找到通过$\u-GET方法使用JSONP的方法,因为CodeIgniter吹走了$\u-GET参数 在这一点上,我将采取任何关于如何做到这一点的建议。请注意,我需要发送一个URL,如果要通过URL本身传递,显然需要进行编码或其他什么。这一点我也不知道该怎么做,所以在这一点上的任何指针都会

我正在尝试制作一个bookmarklet,它将获取当前页面的URL,并将其发送到使用CodeIgniter编写的应用程序

我经常遇到的问题是,我不能进行标准的AJAX调用,因为它是跨域的。这是不允许的,而且我无法找到通过$\u-GET方法使用JSONP的方法,因为CodeIgniter吹走了$\u-GET参数


在这一点上,我将采取任何关于如何做到这一点的建议。请注意,我需要发送一个URL,如果要通过URL本身传递,显然需要进行编码或其他什么。这一点我也不知道该怎么做,所以在这一点上的任何指针都会受到欢迎。

这是可能的,但要注意注意警告-例如,您不能使用URL帮助器。

Codeigniter取消设置$\u GET,但您可以从查询字符串中获取数据。这有点低效,因为PHP可能会结束对查询字符串的两次解析,但它应该可以工作:

parse_str($_SERVER['QUERY_STRING'], $get);
print_r($get);
所有GET变量都应该可以在变量$GET中访问。有关更多信息,请参阅

作为替代方案,您可以对当前url进行url编码,并将其附加到您请求的内容中,例如

var url = 'http://example.com/bookmarklet/' 
               +  encodeURIComponent(window.location);
然后在Codeigniter中执行以下操作:

//you might have to call urldecode() on this value 
$url = $this->uri->segment(0); 

但是你可能会发现你有

很好的呼叫…虽然看起来需要我为整个网站做查询字符串…我想避免…嗯…你能澄清一下吗…我不知道那是什么。