【问题标题】:How I Get html element with Ajax using dropdown selected option?如何使用下拉选择选项获取带有 Ajax 的 html 元素?
【发布时间】:2017-12-15 11:11:24
【问题描述】:

这是我从wired.com 加载的RSS 数据的下拉列表

         <select name="Konular" class="col-md-8" id="rssdrop">
            @foreach (var item in Model.RSSDropDown)
            {
                <option value=@item.Value>@item.Text</option>
            }
        </select>

         <div id="content" style="overflow:scroll; height:300px; width:800px; margin-left:auto">içerik</div>

我想从链接获取文章标签,使用 ajax 并将其加载到#content。 这是我的 ajax 脚本:

 $("#rssdrop").change(function () {
    var RSSurl = $(this).find(':selected').val();
    $.ajax({
        url: RSSurl,
        type: 'GET',
        success: function (data) {
            $('#content').html($(data).find('article').html());
        }
    });
});

当我复制链接并通过它的工作时:

   url: "https://www.wired.com/story/star-wars-the-last-jedi-review/",

但我不能从选定的选项中获取它我该怎么做

【问题讨论】:

  • console.log(RSSurl) .. 然后告诉我?你得到什么

标签: html ajax asp.net-mvc


【解决方案1】:

只需从此替换您的代码:

var RSSurl = $(this).find(':selected').val();

到这里:

var RSSurl = $(this).val();

.val 在选择元素本身上效果很好,不需要在其中找到选定的选项。

【讨论】:

  • 我试了一下,但它说:无法加载wired.com/story/…:从'wired.com/story/…'重定向到'wired.com/story/…'已被CORS策略阻止:否'Access-Control-Allow- Origin' 标头存在于请求的资源上。因此不允许访问 Origin 'localhost:51565'。
  • 哦,所以这不是未选择选择选项的问题。它的跨域平台问题。您无法从 localhost 访问该 url,因为出于安全原因,它被限制访问其他来源。
  • 简单来说,你正在访问它的url应该有一个'Access-Control-Allow-Origin'为真,只有这样它才能工作。
猜你喜欢
  • 1970-01-01
  • 2023-03-13
  • 2010-12-14
  • 2015-03-14
  • 1970-01-01
  • 2020-11-02
  • 2020-05-21
  • 1970-01-01
  • 2017-12-24
相关资源
最近更新 更多