作为AJAX成功函数的一部分,从API调用发送PHP的JSON响应

布里奇特·麦卡锡(Bridget McCarthy)

我已经设置了一个页面,该页面从表单中获取数据,序列化为JSON,然后使用AJAX调用PHP文件来处理表单数据并将其通过cURL发送到API。

如何获得API的响应以作为AJAX成功功能的一部分返回?

在我的项目开始时,我能够完成此操作,因为我使用的是php。但是不能使用该方法,因为该文件是通过AJAX调用而不是包含程序执行的。

我尝试按照本教程进行操作,但是一直发现错误。

我还搜索,查看和尝试了来自该网站上各种帖子的更多建议,甚至超出了我的估计。现在,我正在寻求帮助。

这是我的index.php文件上的相关ajax

$.ajax
({
    type: "POST",
    dataType : 'json',
    async: false,
    url: 'save_application.php',
    data: { filename: fileName,  applicationData: jsonFormString, job: adid },
    success: function () { console.log("done");},
    failure: function() {console.log('error');}
});

这是save_application.php文件的相关部分

$curl = curl_init();

curl_setopt_array($curl, array(
  //stuff here
));

$applicantresponse = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

最后,返回的$ applicantresponse格式如下:

{
  "applicationId": 123456789,
  "links": {
    "link1": "https://thisisalinkforLINK1.html", //THIS IS THE VALUE I WANT
    "link2": "https://thisisalink.html",
    "link3": "https://thisisalink.html"
  }
}

最终,我想将一个变量设置为links-> resume的值(例如,var resumeLink = (something goes here); \\returns https://thisisalinkforLINK1.html)返回成功函数中的index.php,以便可以将该响应用于其他一些待办事项。

杰森

您需要$applicantresponsesave_application.php文件输出以便将其返回到调用代码,并且需要更改successajax代码中函数,然后使用该数据。它看起来像这样:

$applicantresponse = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

echo json_encode($applicantresponse);

接着...

$.ajax
({
    ...
    success: function (data) {
        console.log(data.links.link1);
        // do something with the data that was returned
    },
    ...
});

重要的一件事是您的php代码不会将任何其他文本输出到客户端。所有其他的echoprint在调试电话,所有的这些东西,已被删除,否则你不发回有效的JSON编码数据的jQuery知道如何解释。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

php if语句作为ajax调用的一部分没有失败

滞后于AJAX响应的一部分

将数组作为对象的一部分传递给Ajax调用

粒子JS –调用作为对象一部分的函数

调用作为 ngFor 一部分的子组件的函数

使用for循环的实例号作为函数调用名称的一部分

是否可以延迟对作为函数调用一部分的表达式的求值?

通过Rest调用在json中传递fk作为DerivedIdentities的一部分

如何从PHP中提取AJAX响应的一部分

从URL删除查询字符串作为PHP函数的一部分

php If语句作为函数内部返回值的一部分

如何在python中将api响应的一部分转换为完整的json

尝试在 Swift 3.0 中访问数组作为 JSON api 的一部分

如何通过PHP在JSON添加@符号作为对象名的一部分

如何将函数调用的结果作为dplyr :: mutate的一部分展平?

将 AJAX GET 响应(以 JSON 格式)的一部分存储到字符串变量中的问题

使用响应头作为 Retrofit 返回对象的一部分

cURL - 使用特定的响应头作为文件名的一部分

UIButton 和 UITextField 作为 UIViewController 的一部分不响应

如何在Flask中返回图像作为GET请求响应的一部分?

作为类函数一部分的 SQL 查询中的 PHP 变量未按预期工作

Grails发送版本作为PUT请求的一部分

发送数组作为x-www-form-urlencoded的一部分

如何将JSON作为多部分POST请求的一部分发送

调用类方法作为初始化的一部分

从作为单元测试系统一部分的lambda调用方法

Angular HttpRequest 检索响应的一部分

UIScrollView 的一部分不响应触摸

是否可以将向量的一部分作为向量发送给函数?