POST后在AJAX中获取空数据 - php

我正在建立一个交易系统,并且正在使用php来获取一些数据,但是当它到达时它是空的。这是我第一次使用AJAX,但我不知道自己在做什么错。这是我的代码:

脚本:

$(document).ready(function() {

    $('#submit').click(function(){

        //Get the values
        var amount     = $('#amount').val();
        var from       = $('#from').val();
        var to         = $('#to').val();

        var params = 'select * from yahoo.finance.xchange where pair in ("' + from + to +'")';
        console.log( params );
        $.ajax({
            type: "POST",
            url: "currencies.php",
            data: params,
            success: function(data){
                $('#result').html(data);
                alert(data); //I'm alerting because I was not receiving nothing at #result

            }
        });
    });
});

PHP:

$BASE_URL = "http://query.yahooapis.com/v1/public/yql";

$yql_query = $_REQUEST['params'];
$yql_query_url = $BASE_URL . "?q=" . urlencode($yql_query) . "&format=json" . "&env=http://datatables.org/alltables.env";

$session = curl_init($yql_query_url);
curl_setopt($session2, CURLOPT_RETURNTRANSFER,true);
$json = curl_exec($session);

$phpObj =  json_decode($json);
$conversiones = $phpObj->query->results->rate;
$title = new ArrayObject();


$title = "$conversiones->Name";

echo $title;

我输入:

params=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20("MXNUSD")

在URL中,查看PHP文件是否正常工作。它回显货币名称,但在脚本中未收到。

提前致谢。

编辑:固定错别字。

参考方案

您需要发送一个键/值对。您所发送的只是一个没有params键的值。

key是您在PHP $_REQUEST['params']中使用的内容

在浏览器控制台的“网络”标签中查看,您将不会看到与手动输入地址栏中的网址相同的网址

尝试

  $.ajax({
        type: "POST",
        url: "currencies.php",
        data: {params: params}, // object for key/value
        success: function(data){
            $('#result').html(data);
            alert(data); 

        }
    });

另请注意,在php中,您只能打印json,而没有任何额外的echo。否则会在Ajax中获得JSON解析错误

就像FYI一样-您可以直接从浏览器直接向Yahoo发出相同的请求,而无需在服务器上安装php中的代理。见YQL Console

PHP:将数组值加在一起 - php

我相信这比标题听起来要难一些,但我可能完全错了。我有一个像这样的数组:[["londrina",15],["cascavel",34],["londrina",23],['tiradentes',34],['tiradentes',21]] 我希望能够采用通用…

PHP JQuery复选框 - php

我有以下片段。 var myData = { video: $("input[name='video[]']:checked").serialize(), sinopse: $("#sinopse").val(), dia: $("#dia").val(), quem: $(&#…

PHP strtotime困境 - php

有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00�…

PHP-全局变量的性能和内存问题 - php

假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…

php-casperjs获取内部文本 - php

我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…