Ajax: 如何在提交时同时传递表单数据和凭据?
Ajax: How to pass both form data and credentials on submit?
主要问题:-
Ajax: 如何在提交时同时传递表单数据和凭据?
我有以下函数,当用户点击提交按钮时调用该函数:
<script type="text/javascript">
function submitForm() {
console.log("submit event");
var fd = new FormData(document.getElementById("campaign_form"));
console.log(fd);
var username = $('#username').val();
console.log(username);
var password = $('#password').val();
console.log(password);
$.ajax({
type: "POST",
url: "http://localhost/testing/post_campaigns.php",
data: fd,
data: {
"username": $('#username').val(),
"password": $('#password').val()
},
});
return false;
}
</script>
我的phpURL被正确调用,但是我没有看到我的数据被传递。
例如,我通常希望在开发人员工具中看到:
http://localhost/testing/post_campaigns.php?username=XXX&password=YYY
但我只看到:
http://localhost/testing/post_campaigns.php
我的变量已正确写入控制台,因此我知道它们存在并具有值。
我确定问题出在我的语法上;但我不确定如何正确格式化我的 Ajax 以适应 object FormData 和字符串变量 username/password.
基本上,我的整体代码要求用户提供 sheet 他们在指定列 headers 下填写了特定值,我阅读了该信息并将其 POST 发送给我们广告服务器。因此,当我使用 information/changes 请求向我们的广告服务器执行 POST 请求时,我需要将用户提供的 FormData 和 Username/Password 传递到我的 PHP 文件由用户。
如果我的 question/dilemma 不清楚或者您需要更多代码,请告诉我。
谢谢,
编辑:根据请求在控制台中附上 FormData 的屏幕截图。
jQuery / AJAX 代码:-
与其他 javascript 变量一起发送表单数据。
<script>
$('#btn').on("click", function () {
var formData = new FormData($("#form1")[0]);
formData.append('ipid',id); //id is the variable that has the data that I need
var path = "http://localhost/testing/post_campaigns.php",
$.ajax({
url: path,
type: "POST",
data: formData,
contentType: false,
processData: false,
success: function (stuff) {
$("#resp").html(stuff);
}
});
});
});
</script>
注:-
要附加参数,只需使用 append()
方法:
formData.append("param", "value");
在php这边我抓住了它:
echo $pid = ($_POST['ipid']);
注意:-有关此检查的更多参考
https://developer.mozilla.org/en-US/docs/Web/API/FormData/append
主要问题:- Ajax: 如何在提交时同时传递表单数据和凭据?
我有以下函数,当用户点击提交按钮时调用该函数:
<script type="text/javascript">
function submitForm() {
console.log("submit event");
var fd = new FormData(document.getElementById("campaign_form"));
console.log(fd);
var username = $('#username').val();
console.log(username);
var password = $('#password').val();
console.log(password);
$.ajax({
type: "POST",
url: "http://localhost/testing/post_campaigns.php",
data: fd,
data: {
"username": $('#username').val(),
"password": $('#password').val()
},
});
return false;
}
</script>
我的phpURL被正确调用,但是我没有看到我的数据被传递。
例如,我通常希望在开发人员工具中看到:
http://localhost/testing/post_campaigns.php?username=XXX&password=YYY
但我只看到:
http://localhost/testing/post_campaigns.php
我的变量已正确写入控制台,因此我知道它们存在并具有值。
我确定问题出在我的语法上;但我不确定如何正确格式化我的 Ajax 以适应 object FormData 和字符串变量 username/password.
基本上,我的整体代码要求用户提供 sheet 他们在指定列 headers 下填写了特定值,我阅读了该信息并将其 POST 发送给我们广告服务器。因此,当我使用 information/changes 请求向我们的广告服务器执行 POST 请求时,我需要将用户提供的 FormData 和 Username/Password 传递到我的 PHP 文件由用户。
如果我的 question/dilemma 不清楚或者您需要更多代码,请告诉我。
谢谢,
编辑:根据请求在控制台中附上 FormData 的屏幕截图。
jQuery / AJAX 代码:- 与其他 javascript 变量一起发送表单数据。
<script>
$('#btn').on("click", function () {
var formData = new FormData($("#form1")[0]);
formData.append('ipid',id); //id is the variable that has the data that I need
var path = "http://localhost/testing/post_campaigns.php",
$.ajax({
url: path,
type: "POST",
data: formData,
contentType: false,
processData: false,
success: function (stuff) {
$("#resp").html(stuff);
}
});
});
});
</script>
注:-
要附加参数,只需使用 append()
方法:
formData.append("param", "value");
在php这边我抓住了它:
echo $pid = ($_POST['ipid']);
注意:-有关此检查的更多参考
https://developer.mozilla.org/en-US/docs/Web/API/FormData/append