【问题标题】:Dynamically appending date with php url using javascript, jquery or ajax使用 javascript、jquery 或 ajax 在 php url 中动态附加日期
【发布时间】:2014-07-29 06:59:13
【问题描述】:

基本上,我有一个 javascript 文件,其中有一个 ajax 函数,它的 url 指向一个名为 getfile.php 的 php 文件。

在这个 php 文件中,我正在使用 url 读取和存储另一个 php 文件的内容:

http://xxx.xxx.x.xx/php/getpage.php?mode=opensvc&fx=getPositions&date=2014-04-02&time=0&lat=27.219722&lng=78.019616/

在我的 javascript 文件中使用 json 格式的数据。

我遇到了一个问题,因为现在我想通过将 html 输入标签中的日期附加到 getfile.php 来动态地从 php 文件中获取 json 数据,这样 json 数据将根据日期可用,因为它将附加到 url动态更改日期属性。

我们的 getfile.php 代码是:-

$homepage =file_get_contents('http://xxx.xxx.x.xx/php/getpage.php?mode=opensvc&fx=getPositions&date=2014-04-02&time=0&lat=27.219722&lng=78.019616/');
echo $homepage;

javascript 文件中的 ajax 代码:-

$.ajax({
    url: "getfile.php",
    type: "POST",
    dataType: 'json',
    success: function (data) {
        var i = 0;
        while (data[i]) {
            lat[i] = data[i].latitude;
            lng[i] = data[i].longitude;
            latlng1[i] = new google.maps.LatLng(lat[i], lng[i]);
        }
    }
});

如果我更改 url 中的 date 属性,那么来自该 url 的 json 数据是不同的,所以我想动态提供日期。

【问题讨论】:

  • 你能发布一些你现在在做什么的html和javascript吗?这样就更清楚你到底想要什么。您也可以创建一个 jsfiddle 让我们测试您的代码。
  • 我认为相关代码在getfile.php中。显示此代码。
  • 现在我已经添加了我正在处理的源代码。看看吧!

标签: javascript php jquery ajax json


【解决方案1】:

您可以在 javascript 文件中动态地将日期变量声明为全局变量,以便您可以在 php 文件中访问它,也可以从 html 元素中获取它的值。 您可以在 javascript 文件中这样做:-

var data={};
data['date']="12-2-2014";
$.ajax(
{
url: "getfile.php",
type: "POST",
data: "data",
dataType: 'json',
success: function (data) {
    var i = 0;
    while (data[i]) {
        lat[i] = data[i].latitude;
        lng[i] = data[i].longitude;
        latlng1[i] = new google.maps.LatLng(lat[i], lng[i]);
    }
}

});

然后在php文件中你必须编写以下代码:-

 $d= $_POST['date'];
 $homepage =file_get_contents('http://xxx.xxx.x.xx/php/getpage.php?mode=opensvc&fx=getPositions&date='.$d.'&time=0&lat=27.219722&lng=78.019616/');
 echo $homepage;

【讨论】:

    【解决方案2】:
    function GetFile(){
        var dat = $('YOUR FIELD WITH DATE VALUE').val();
            $.post("getfile.php", {dat: ""+ dat +""}, function(data){
                if(data.length >0) {
                    $('YOUR RESULT FIELD').val(data);
                }
            });
    
    }
    

    使用此功能,您实际上是从日期文本字段发送数据,因此您所要做的就是在 getfile.php 中回显您需要的数据,结果将在您的结果字段中。 如果我能很好地理解问题

    【讨论】:

      猜你喜欢
      • 2016-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-30
      • 2015-04-04
      相关资源
      最近更新 更多