Php JQuery和AJAX,检索一个变量

Php JQuery和AJAX,检索一个变量,php,javascript,jquery,ajax,Php,Javascript,Jquery,Ajax,我从jQuery和AJAX开始,试图将一个值从第2页传递到第1页,但我的这个脚本不起作用 脚本: function prova() { var parametro = $("#nome_privato").val(); $.ajax({ url: "./ProvaAJAX.php", type: "GET", data: "parametro="+parametro, dataType: "html",

我从jQuery和AJAX开始,试图将一个值从第2页传递到第1页,但我的这个脚本不起作用

脚本:

function prova()
    {
    var parametro = $("#nome_privato").val();
    $.ajax({
        url: "./ProvaAJAX.php",
        type: "GET",
        data: "parametro="+parametro,
        dataType: "html",
        success: function( response )
        {
            alert(response);
        },
        //error: function (){}
        });
    }
选择:

    <select onChange='prova()'>
<input type='text' id='nome_privato'>
<?php
    $_GET['parametro'];
    echo "il parametro è".$_GET['parametro'] ;
?>

“/ProvaAJAX.php”:

    <select onChange='prova()'>
<input type='text' id='nome_privato'>
<?php
    $_GET['parametro'];
    echo "il parametro è".$_GET['parametro'] ;
?>

我认为可能是语法错误,因为javascript在我页面的其他部分被禁用…

尝试更改

data: "parametro="+parametro,
致:

您也不需要
$\u GET['parametro']行,只是回显行


在较新的浏览器中,这不是一个大问题,但您还应该删除此浏览器上的尾随逗号:

    success: function( response )
    {
        alert(response);
    },
编辑


参见Ben的回答,我是瞎子。

Ajax调用的数据选项应该是一个要转换为正确GET参数的对象,即
数据:{parametro:$(“nome_privato”).val()}
JS

function prova()
    {
    var parametro = $("#selectid").val();
    $.ajax({
        url: "./ProvaAJAX.php",
        type: "GET",
        data: "parametro="+parametro,
        dataType: "html",
        success: function( response )
        {
            alert(response);
        },
        //error: function (){}
        });
    }
HTML


1.
2.
3.
PHP



您没有正确使用选择器。

请检查选择器val:

<select onChange='prova()' id="nome_privato">

$(“nome_privato”).val()是错误的。为类添加一个
,或为id添加一个
。您还需要为
添加一个选择器。在var参数中更改=$(“#nome_privato”).val();但是仍然不能很好地工作,如果你没有在select.url中添加一个id,它将无法在跨域中工作,因此请检查“/ProvaAJAX.php”文件是否存在,然后再试一次Init显然不是跨域的,因为他使用的是相对路径。谢谢你的回复,但仍然无法工作。。。我删除了$_GET['parametro'];tooIE通常不喜欢对象文本上的尾随空格,但这似乎解决了它的问题。不过,解释你改变了什么以及为什么有必要改变的一些词确实很有用。“nome_privato”是另一个字段,是一个输入文本框,为我的错误道歉explanation@Jacopo选择器仍然错误,因为
$(“nome_privato”)
正在查找使用
标记创建的元素(你会发现它不是一个真正的HTML标记)。是的,我已经按照@Ben fortune的建议更改为:var parametro=$(“#nome_privato”).val(),但你刚才说你正在将它用于另一个字段。选择一个唯一的id和选择器。
<select onChange='prova()' id="nome_privato">
function prova()
{
var parametro = $("#nome_privato").val();
$.ajax({
    url: "ProvaAJAX.php",
    type: "GET",
    data: "parametro="+parametro,
    dataType: "html",
    success: function( response )
    {
        alert(response);
    },
    //error: function (){}
    });
}