【问题标题】:jQuery Dynamic form not posting on mobilejQuery动态表单不在移动设备上发布
【发布时间】:2017-11-23 03:01:26
【问题描述】:

我正在尝试动态创建一个表单,然后提交它。我让它在桌面浏览器上运行,但在移动 Android 和 iOS 上,它不起作用。

它所做的是刷新页面而不是发送发布请求。

代码如下:

var $form = $(document.createElement('form')).attr('action', '/results').attr('method', 'POST');
$form.append(form.find('input[name="_token"]'));
$form.append('<input type="hidden" name="term" value="'+term+'">');
$form.append('<input type="hidden" name="extra" value="'+extra+'">');
$form.append('<input type="hidden" name="value" value="'+value+'">');
$form.append('<button id="submitSearch" type="submit"></button>');
$($form).appendTo(document.body);
$($form).submit();

关于为什么它不能在移动浏览器上运行的任何想法?

【问题讨论】:

  • 如果它的 laravel 形式应该有一个 {{ csrf_field() }}。你的表格上有吗?
  • 我做了,但是它不喜欢它。我必须将表单放在页面内,然后附加字段。
  • 据我所知,您需要将 csrf_field 放入您的表单中。好吧,让我们这样吧。在你的blade.php 打开脚本标签里面写下这个:var token = {{ csrf_field() }}; 这个应该在你的表单追加之前。然后附加您的表单:$form.append(token); 我希望这会有所帮助。

标签: javascript android jquery ios laravel


【解决方案1】:

Laravel 没有正确看到令牌似乎存在问题。

我在页面中创建了表单,并在 JS 中设置了字段。这似乎奏效了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    • 2013-01-13
    相关资源
    最近更新 更多