У меня была похожая проблема, когда она превосходно публиковала в Chrome и Safari на моем рабочем столе, но когда я попробовал это в мобильном Safari, все значения были бы нулевыми, когда они попадали в мой веб-сервис.
Оказалось, что проблема с моим URL, потому что в моем веб-сервисе есть фильтр, который перенаправляет все пути на один с обратной косой чертой.
Это не будет работать в мобильном сафари, но в противном случае ...
$.ajax({
...
url: 'foo',
dataType: 'json',
type: 'POST',
...
});
Казалось, что сафари не понравился временный редирект, вызванный моим фильтром, и он удалил данные. Чтобы заставить его работать, мне пришлось добавить косую черту в URL моего вызова ajax .:
$.ajax({
...
url: 'foo/', // note the trailing slash
dataType: 'json',
type: 'POST',
...
});
Обновление: оказывается, это не ограничивается JS. В мобильных сафари-сообщениях обычная форма сообщений одинакова. Это передает нулевые значения моему сервису:
<form action="foo" method="POST">
<input type="text" name="pleaseDontBeNull" value="swearImNotNull"/>
</form>
Это работает правильно:
<form action="foo/" method="POST"> <!-- note the trailing slash -->
<input type="text" name="pleaseDontBeNull" value="swearImNotNull"/>
</form>