如何使用ajax将jquery值正确传递给php?

I want to pass a value from my jquery code to a php variable after a user inputs through a textbox, but I don't receive any value at all in the PHP side through POST.I'm using .change and .post, does anyone here knows how to do it properly? here's my code:

$(document).ready(function(){
 $("#packagename").change(function(){
    var packagename = $('#packagename').val();
    var url = '{{url}}'; //localhost/test/test.php
    $.ajax({
    type: 'post',
    url: url,
    dataType:html,
    data:{'val':packagename},   
    });
  });
});

The only problem that I can see offhand is that the html in dataType:html, needs to have quotes around it like this: dataType: 'html',. Otherwise your code will look for the variable html, not find it, and throw an error.

http://api.jquery.com/jQuery.post/

dataType
Type: String
The type of data expected from the server. Default: Intelligent Guess (xml, json, script, text, html).

change dataType: html, to dataType: 'html',

try it

$(document).ready(function(){
 $("#packagename").change(function(){
    var packagename = $('#packagename').val();
    var url = '{{url}}'; //localhost/test/test.php
    $.ajax({
    type: 'post',
    url: url,
    dataType:text,
    data:{'val':packagename},  
    success:function(result){
alert(result);
} 
    });
  });
});

Have you tried just putting the url into the url field instead of whatever that object is you are trying to use?

I will assume you are not trying to ajax to the page you are currently on and expecting the php variable to display on the current page.