javascript - 通过 AJAX 将动态参数从 JavaScript 传递到 PHP 以在 cURL 调用中使用

标签 javascript php ajax php-curl

我正在使用 php curl 使用 Ajax 从我的 javascript 发出 http get 长轮询请求。这是来自 javascript 的调用

var i;
i++;
$.ajax({
   url:"http://localhost/myport.php",
   type: GET,
   success: function(response){ ...},
   ...
   ...

这是我如何在 myport.php 文件中进行 php 调用

 <?php
 $ch=curl_init();
 $curl_setopt($ch, CURLOPT_URL, "http://localhost:7555/test?index=" //Here I need to set a value (the variable i) in the above JS

如果我直接从js调用,我会这样做

$.ajax({ url:"http://localhost:7555/test?index=" + i

我是 php 和 curl 的新手,我想知道如何传递该变量的值,以便获取调用的参数。

最佳答案

如果我理解正确,并且您只想将变量 $i 的值附加到 cURL 调用中,您可以这样做:

<?php
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost:7555/test?index=" . $i);

甚至,

curl_setopt($ch, CURLOPT_URL, sprintf("http://localhost:7555/test?index=%d", $i));

另请注意,函数调用之前没有 $:它是 curl_setopt() 而不是 $curl_setopt() ($ 用于变量,例如 $ch)。

编辑

澄清问题后,您似乎需要将这个 i 变量从 JavaScript 获取到 PHP。您可以将其作为 AJAX 调用中的 GET 参数传递:

var i;
i++;
$.ajax({
   url:"http://localhost/myport.php?index=" + i,
   type: GET,
   success: function(response){ ...},
   ...
   ...

然后,在 PHP 中,您可以像这样使用它:

curl_setopt($ch, CURLOPT_URL, sprintf("http://localhost:7555/test?index=%d", $_GET['index']));

您还应该验证 $_GET['index'] 是否确实传入:

if (!isset($_GET['index']))
{
    die("The index was not specified!");
}

关于javascript - 通过 AJAX 将动态参数从 JavaScript 传递到 PHP 以在 cURL 调用中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31351573/

相关文章:

javascript - 给定 TZID 和本地时间获取 UTC 时间

javascript - 想更新我的 `ng-model' 值 Angular

javascript - 使用 FileOpenPicker 链接到本地​​计算机上的文件时,音频显示 'Invalid source'

javascript - 如何在表格搜索中显示多个单元格

php - Laravel 数据库优先() "Trying to get property of non-object"

php - 谷歌 API 客户端 "refresh token must be passed in or set as part of setAccessToken"

如果取消/关闭 HTTP 请求,PHP 会自动终止脚本

javascript - 网站显示为不安全,因为流媒体提供商不支持 SSL

jQuery .live() 不适用于单击事件

php - 有没有比 echo 更好的方法来做到这一点?