使用ajax load()将变量传递给php

时间:2012-08-01 04:36:13

标签: ajax variables load

我找到了一些接近的答案,但在我的案例中没有一个有效。我有:

  1. 输入标记:

      <input name="title" id="title">
    
  2. 的Ajax:

    <script language="javascript">
    function example_ajax_request() {
    
        $('#example-placeholder').html('<p><img src="/img/ajax-loader.gif" /></p>');
    
        setTimeout('example_ajax_request_go()', 0);
    
    }
    
    function example_ajax_request_go() {
    
        $j(document).ready(function () {
    
            var inputField = $j('#inputText').val();
    
            $j(".button").click(function () {
    
                $('#example-placeholder').load('preview.php?title=' + title + ' .aClass');
    
            }
       </script>
    
  3. 按钮调用该功能:

    <input type="button" onclick="example_ajax_request()" value="Preview" />
    
  4. 我正在尝试通过ajax将'title'var从输入标记传递到'preview.php'。上面的代码有错误并且没有运行,你能建议正确吗?谢谢!

2 个答案:

答案 0 :(得分:0)

您没有输入确切的错误消息(请从浏览器的控制台中输入并更新您的问题)。我只是提出了一些建议/改进:

  1. 每当您传递GET参数时,始终对该值(xyz中的valueurl?abc=xyz&blah=value)进行URIEncode。在javascript中有一个函数调用EncodeURIComponent(..)。您可以使用它:

    'preview.php?title=' +  EncodeURIComponent(title +' .aClass')
    
  2. 可能的拼写错误,您在+ ' .aClass'之前的网址中有空格。如果您需要,请使用+%20明确替换它。

答案 1 :(得分:0)

找到了办法。这是:

<script type="text/javascript">
function example_ajax_request() {
 $('#example-placeholder').html('<p><img src="img/ajax-loader.gif" /></p>');
 $('#example-placeholder').load("preview.php?title="+$('#title').val());
}
</script>

谢谢!