我试图通过使用AJAX将变量从jquery传递到php,反之亦然,但是不能这样做!我看了几十个类似的问题和例子,仍在努力解决同样的问题。
这是我尝试将变量传递给php的部分。
在main.js中:
$(document).ready(function(){
doSearch();
});
function doSearch(){
var inID = $('#inID').val();
var memInd = $('#memInd').val();
var t1 = $('#t1').val();
var t2 = $('#t2').val();
alert("ID: "+inID+"memIND: "+memInd);
$.ajax({
type: "POST",
url: "index.php",
data: { inID: inID, memInd: memInd , t1: t1, t2: t2}
});
}
的index.php:
$inID = $_POST["inID"];
echo $inID
答案 0 :(得分:0)
你错过了引号,
data: { "inID": inID, "memInd": memInd , "t1": t1, "t2": t2}
答案 1 :(得分:0)
将dataType: "HTML"
更改为dataType: "json"
并让我知道它是否有效:)
(或者只是将该行完全删除为$ .ajax自动检测)
此外,$.post()的语法比$ .ajax短,如果你没有做任何花哨的事情,那么你可以使用以下
$.post("index.php", { inID: inID, memInd: memInd , t1: t1, t2: t2});
当你参与其中时,最好引用你的参数作为Sudip Pal提及,但如果你的参数名称是严格的字母数字则不是必需的。
将doSearch()
Javascript功能更改为以下内容:
function doSearch(){
var inID = "inIdValue";
var memInd = "memIndVal";
var t1 = "t1Val";
var t2 = "t2Val";
alert("ID: "+inID+"memIND: "+memInd);
$.post("index.php",
{
inID: inID, memInd: memInd , t1: t1, t2: t2
},
function(data) {
$('body').html(data);
$('body').append('<button onclick="doSearch()">Reload</button>');
}
);
}
将文件备份为index2.php,然后删除index.php中的所有内容并将其全部替换为以下内容(只需复制并粘贴):
<?php
echo "<pre>";
print_r($_POST);
die("</pre>");
?>
然后请粘贴结果:)
答案 2 :(得分:0)
试试这个
脚本:
$.ajax({
type: "POST",
url: "index.php",
dataType: "json",
data: { inID: inID, memInd: memInd , t1: t1, t2: t2} ,
success : function(res){
alert(res.inID);
}
});
在php文件中
echo json_encode($_POST);
希望它会有所帮助
答案 3 :(得分:0)
问题是我将.js包含在我运行ajax函数的同一个php-page中,该页面从UI输入接收($ _POST)值。我做了一个单独的search.php页面来接收值,一切正常。我最终也使用了jquery post()
的较短语法 $.post('search.php',{id:id, mem:mem, t1:t1, t2:t2},function(res){
$("#result").html(res);
});