0

试试这个链接:http ://humberinteractive.com/2013/api/index.php?fname=keo

您可以看到它使用 $_GET['fname'] 并打印出我需要的内容。

我试过了:

$.ajax({
    type: 'GET',
    url: 'http://humberinteractive.com/2013/api/index.php?fname=keo',
    success: function(data) {
        alert(data);
    }
});

但它不起作用...

jsfiddle:http: //jsfiddle.net/3V8VP/

帮助帮助

4

4 回答 4

0

我不知道如何评论和回复你。但这绝对是一些原产地政策。

以下消息是 Chrome 控制台中显示的内容。

XMLHttpRequest 无法加载http://humberinteractive.com/2013/api/index.php?fname=keo。Access-Control-Allow-Origin 不允许来源http://fiddle.jshell.net 。

于 2013-04-12T02:48:01.330 回答
0

在您的 Fiddle 中,它失败了,因为不允许跨域源 ajax 请求。一种常见的解决方法是改用 JSONP。如果您的最终应用位于同一个域中,这将不是问题。JSONP 代码如下所示:

<?php

  $data = array("some" => "data"); // make this part yourself
  $callback_name = $_REQUEST["callback"];

  echo $callback_name . "(" . encode_json($data) . ")";

?>

其次,数据格式不可用。要将数据从 PHP 传递到 Javascript,您应该使用 JSON。使用 php,将数组/对象转换为 JSON 格式的函数是json_encode

最后,确保在使用 JSON 对象回答时发送正确的 mime 类型。header()(具有正确参数的PHP 函数应该可以)

于 2013-04-12T02:32:42.420 回答
0

如果您在不同的域上执行此操作,它可能会被阻止为同源策略。

那么您可以尝试使用 JSONP 来执行此操作。

通过这种方式,指定dataType: "jsonp"ajax 方法的参数,然后 jquery 将为您的成功方法创建一个别名,xxxxxxxx并且 AJAX 请求将使用参数发送callback=xxxxxxxxxx

在服务器端,您需要捕获回调名称,并输出与现在使用回调名称相同的 json 数据xxxxxxxxx({....})

最后,您的客户端将直接运行此输出。

例如:

js:

$.ajax({
    type: 'GET',
    dataType: 'jsonp',
    url: 'http://humberinteractive.com/2013/api/index.php?fname=keo',
    success: function(data) {
        alert(data);
    }
});

服务器端,例如php:

<?php
    // some logic ......
    $json_string = encode_json($data_you_wanna_output);
    echo $_GET['callback'] ."(". $json_string .")";
?>
于 2013-04-12T02:32:56.033 回答
0

尝试这个:

$.ajax({type: "POST", 
         url: 'http://humberinteractive.com/2013/api/index.php', 
        data: {'fname': 'keo'}
    }).done(function( data) {alert(data);});
于 2013-04-12T02:37:21.257 回答