gpt4 book ai didi

javascript - 页面 A 将值发布到页面 B,页面 B 使用 cURL 向页面 C 发送另一个帖子,并将响应返回到页面 A

转载 作者:行者123 更新时间:2023-11-28 08:41:10 28 4
gpt4 key购买 nike

我面临着一个对我来说非常陌生的情况。我会尽力让事情变得简单来解释它一步一步来。

1)在页面 A(用户表单)中,我从字段中获取一些值并将其作为 jQuery AJAX POST 发送到页面 B。这是主要代码片段,并且工作正常:

$(document).ready(function() { 

var options = {
target: '#my-container',
dataType: 'html',
beforeSubmit: showRequest, // pre-submit callback
success: processOK, // post-submit callback
error: processError,
clearForm: false
};

// bind form using 'ajaxForm'
$('#myForm').ajaxForm(options);
});

我直接在表单定义中定义“url 操作”和“POST 方法”。

2) 页面 B 正确接收来自页面 A 的 POST 值,并使用它向页面 C 进行另一个 POST,但这次使用 cURL。此时,一切仍按预期进行。我可以阅读B页的回复,这很好。这是代码:

B页代码:

<?php
$cURL = curl_init('http://200.201.194.133/exampleurl/MakeCall.php');
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);

$dados = array(
'type' => '0',
'dest' => $_POST["dest"],
'content' => $_POST["content"],
'priority' => '-1',
'return' => '1',
'answer' => '40',
'ringtime' => '26',
'psid' => 'ct1253117',
'ctid' => '9'
);

curl_setopt($cURL, CURLOPT_POST, true);
curl_setopt($cURL, CURLOPT_POSTFIELDS, $dados);

$result = curl_exec($cURL);
curl_close($cURL);
echo "<span class='response'>OK</span>";
?>

3)问题来了,当页面 B 收到来自页面 C 的响应时,它会在浏览器中显示响应,我需要将此响应发送到页面 A,其中 a 可以在 jQuery AJAX 回调函数中捕获它。页面 A(用户表单)需要始终可见。

在寻求帮助之前,我花了一整天的时间试图解决这个问题。因此,如果有人能帮助我解决这种情况,我将非常高兴。也欢迎替代解决方案。

编辑:(原始函数 - 这样就行不通,我不知道为什么,甚至添加了“return false”行)。

$(document).ready(function() { 

var options = {
target: '#my-container',
dataType: 'html',
beforeSubmit: showRequest, // pre-submit callback
success: processOK, // post-submit callback
error: processError,
clearForm: false
};

// bind form using 'ajaxForm'
$('#myForm').ajaxForm(options);
});

更改为:(现在可以了 - 注意“return false;”行,这很重要)

$("#myForm").submit(function(e)
{
var formURL = $(this).attr("action");
$.ajax(
{
url : formURL,
type: "POST",
success:function(data, textStatus, jqXHR)
{
alert("success");
alert(data);
},
error: function(jqXHR, textStatus, errorThrown)
{
alert("fail");
}
});
//STOP default action
return false;
});

$("#myForm").submit();

最佳答案

问题出在 jQuery AJAX 插件中,我更改了 AJAX 函数的声明方式,现在它可以按预期工作。请参阅本文代码中的编辑和更改部分以获得正确的代码。

感谢您的评论,帮助很大!

关于javascript - 页面 A 将值发布到页面 B,页面 B 使用 cURL 向页面 C 发送另一个帖子,并将响应返回到页面 A,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20479485/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com