跨域Ajax请求使用Jquery和Ajax从服务器获取值

时间:2013-11-28 12:44:53

标签: javascript jquery ajax cross-domain cross-domain-policy

我正在尝试从我的localhost向服务器中的php文件发出Ajax请求。当我测试这个时,我还没有在PHP文件中做真正的代码。我只是希望PHP文件获取发布的值并回显相同。从PHP文件获得响应后,我想将其存储在div中。

当我在localhost中的search.php但是抛出错误

时这很好用
  

XMLHttpRequest无法加载http://www.mysite.com/search.php。没有   请求中存在“Access-Control-Allow-Origin”标头   资源。因此,不允许原点'null'访问。

这是服务器上非常简单的PHP文件,用于回显发布的内容。

HTML

<form action='http://www.mysite.com/search.php' id='search-form' method='post'>  
    <input name='q' placeholder='Search' type='text' />
    <button id='search-button' type='submit'><span>Search</span></button>
  </form>
<div class="sample_code">Search Results</div>
<div id="result"></div>

Jquery的

     $("#search-form").submit(function(event) {

        /* stop form from submitting normally */
        event.preventDefault();

        /* get some values from elements on the page: */
        var $form = $(this),
            term = $form.find('input[name="q"]').val(),
            url = $form.attr('action');

        /* Send the data using post */
        var posting = $.post(url, {
            q: term
        });

        /* Put the results in a div */
        posting.done(function(data) {
            //var content = $(data).find('#content');
            $("#result").empty().append(data);
        });
    });

服务器中的一个PHP文件,用于回显发布的内容(search.php)

    <?php

    $item = $_POST['term'];
    echo $item;

    ?>

2 个答案:

答案 0 :(得分:0)

尝试“jsonp”,但它只支持GET方法并且是DOM阻塞。

答案 1 :(得分:0)

php文件中 ajax到你的php 文件然后的最佳解决方案使用 curl a link来调用来自的数据另一个网站。

回应卷曲响应并捕获该数据。

我使用过这种方法。 正常工作